Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Patch 7.2.269
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  7 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Bram Moolenaar  
View profile  
 More options Nov 3, 6:10 am
From: Bram Moolenaar <B...@Moolenaar.net>
Date: Tue, 03 Nov 2009 12:10:56 +0100
Local: Tues, Nov 3 2009 6:10 am
Subject: Patch 7.2.269

Patch 7.2.269
Problem:    Many people struggle to find out why Vim startup is slow.
Solution:   Add the --startuptime command line flag.
Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h,
            src/main.c, src/macros.h

*** ../vim-7.2.268/runtime/doc/starting.txt     2008-11-09 13:43:25.000000000 +0100
--- runtime/doc/starting.txt    2009-10-25 11:57:51.000000000 +0100
***************
*** 144,149 ****
--- 144,156 ----
                        -u NORC                 no                  yes
                        --noplugin              yes                 no

+ --startuptime={fname}                                 *--startuptime*
+               During startup write timing messages to the file {fname}.
+               This can be used to find out where time is spent while loading
+               your .vimrc and plugins.
+               When {fname} already exists new messages are appended.
+               {only when compiled with this feature}
+
                                                        *--literal*
  --literal     Take file names literally, don't expand wildcards.  Not needed
                for Unix, because Vim always takes file names literally (the
***************
*** 471,476 ****
--- 487,493 ----
                window title and copy/paste using the X clipboard.  This
                avoids a long startup time when running Vim in a terminal
                emulator and the connection to the X server is slow.
+               See |--startuptime| to find out if affects you.
                Only makes a difference on Unix or VMS, when compiled with the
                |+X11| feature.  Otherwise it's ignored.
                To disable the connection only for specific terminals, see the
*** ../vim-7.2.268/src/globals.h        2009-07-29 12:09:49.000000000 +0200
--- src/globals.h       2009-10-10 15:14:31.000000000 +0200
***************
*** 1567,1572 ****
--- 1567,1576 ----
  /* For undo we need to know the lowest time possible. */
  EXTERN time_t starttime;

+ #ifdef STARTUPTIME
+ EXTERN FILE *time_fd INIT(= NULL);  /* where to write startup timing */
+ #endif
+
  /*
   * Some compilers warn for not using a return value, but in some situations we
   * can't do anything useful with the value.  Assign to this variable to avoid
*** ../vim-7.2.268/src/feature.h        2008-11-09 13:43:25.000000000 +0100
--- src/feature.h       2009-10-10 16:16:19.000000000 +0200
***************
*** 844,853 ****
  /* #define DEBUG */

  /*
!  * STARTUPTIME                Time the startup process.  Writes a "vimstartup" file
!  *                    with timestamps.
   */
! /* #define STARTUPTIME "vimstartup" */

  /*
   * MEM_PROFILE                Debugging of memory allocation and freeing.
--- 844,857 ----
  /* #define DEBUG */

  /*
!  * STARTUPTIME                Time the startup process.  Writes a file with
!  *                    timestamps.
   */
! #if defined(FEAT_NORMAL) \
!       && ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
!               || defined(WIN3264))
! # define STARTUPTIME 1
! #endif

  /*
   * MEM_PROFILE                Debugging of memory allocation and freeing.
*** ../vim-7.2.268/src/main.c   2009-05-26 22:58:43.000000000 +0200
--- src/main.c  2009-10-10 16:18:32.000000000 +0200
***************
*** 130,139 ****
  #endif

- #ifdef STARTUPTIME
- static FILE *time_fd = NULL;
- #endif
-
  /*
   * Different types of error messages.
   */
--- 130,135 ----
***************
*** 173,178 ****
--- 169,177 ----
      char_u    *fname = NULL;          /* file name from command line */
      mparm_T   params;                 /* various parameters passed between
                                         * main() and other functions. */
+ #ifdef STARTUPTIME
+     int               i;
+ #endif

      /*
       * Do any system-specific initialisations.  These can NOT use IObuff or
***************
*** 203,210 ****
  #endif

  #ifdef STARTUPTIME
!     time_fd = mch_fopen(STARTUPTIME, "a");
!     TIME_MSG("--- VIM STARTING ---");
  #endif
      starttime = time(NULL);

--- 202,216 ----
  #endif

  #ifdef STARTUPTIME
!     for (i = 1; i < argc; ++i)
!     {
!       if (STRNICMP(argv[i], "--startuptime=", 14) == 0)
!       {
!           time_fd = mch_fopen(argv[i] + 14, "a");
!           TIME_MSG("--- VIM STARTING ---");
!           break;
!       }
!     }
  #endif
      starttime = time(NULL);

***************
*** 1150,1155 ****
--- 1156,1173 ----
            cursor_on();

            do_redraw = FALSE;
+
+ #ifdef STARTUPTIME
+           /* Now that we have drawn the first screen all the startup stuff
+            * has been done, close any file for startup messages. */
+           if (time_fd != NULL)
+           {
+               TIME_MSG("first screen update");
+               TIME_MSG("--- VIM STARTED ---");
+               fclose(time_fd);
+               time_fd = NULL;
+           }
+ #endif
        }
  #ifdef FEAT_GUI
        if (need_mouse_correct)
***************
*** 1743,1748 ****
--- 1761,1770 ----
                    /* already processed, skip */
                }
  #endif
+               else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0)
+               {
+                   /* already processed, skip */
+               }
                else
                {
                    if (argv[0][argv_idx])
***************
*** 3211,3216 ****
--- 3233,3252 ----

  static struct timeval prev_timeval;

+ # ifdef WIN3264
+ /*
+  * Windows doesn't have gettimeofday(), although it does have struct timeval.
+  */
+     static int
+ gettimeofday(struct timeval *tv, char *dummy)
+ {
+     long t = clock();
+     tv->tv_sec = t / CLOCKS_PER_SEC;
+     tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC;
+     return 0;
+ }
+ # endif
+
  /*
   * Save the previous time before doing something that could nest.
   * set "*tv_rel" to the time elapsed so far.
***************
*** 3299,3318 ****
      }
  }

- # ifdef WIN3264
- /*
-  * Windows doesn't have gettimeofday(), although it does have struct timeval.
-  */
-     int
- gettimeofday(struct timeval *tv, char *dummy)
- {
-     long t = clock();
-     tv->tv_sec = t / CLOCKS_PER_SEC;
-     tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC;
-     return 0;
- }
- # endif
-
  #endif

  #if defined(FEAT_CLIENTSERVER) || defined(PROTO)
--- 3335,3340 ----
*** ../vim-7.2.268/src/macros.h 2009-05-17 13:30:58.000000000 +0200
--- src/macros.h        2009-10-10 15:19:07.000000000 +0200
***************
*** 243,249 ****
  #endif

  #ifdef STARTUPTIME
! # define TIME_MSG(s) time_msg(s, NULL)
  #else
  # define TIME_MSG(s)
  #endif
--- 243,249 ----
  #endif

  #ifdef STARTUPTIME
! # define TIME_MSG(s) { if (time_fd != NULL) time_msg(s, NULL); }
  #else
  # define TIME_MSG(s)
  #endif
*** ../vim-7.2.268/src/version.c        2009-11-03 11:43:05.000000000 +0100
--- src/version.c       2009-11-03 12:06:31.000000000 +0100
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     269,
  /**/

--
BEDEVERE: Look!  It's the old man from scene 24 - what's he Doing here?
ARTHUR:   He is the keeper of the Bridge.  He asks each traveler five
          questions ...
GALAHAD:  Three questions.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- B...@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
François Ingelrest  
View profile  
 More options Nov 3, 7:16 am
From: François Ingelrest <francois.ingelr...@gmail.com>
Date: Tue, 3 Nov 2009 13:16:50 +0100
Local: Tues, Nov 3 2009 7:16 am
Subject: Re: Patch 7.2.269

On Tue, Nov 3, 2009 at 12:10, Bram Moolenaar <B...@moolenaar.net> wrote:
> Patch 7.2.269
> Problem:    Many people struggle to find out why Vim startup is slow.
> Solution:   Add the --startuptime command line flag.
> Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h,
>            src/main.c, src/macros.h

Wow, this is very cool and can be very handy. Thanks!

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dominique Pellé  
View profile  
 More options Nov 3, 1:16 pm
From: Dominique Pellé <dominique.pe...@gmail.com>
Date: Tue, 3 Nov 2009 19:16:12 +0100
Local: Tues, Nov 3 2009 1:16 pm
Subject: Re: Patch 7.2.269

Bram Moolenaar wrote:
> Patch 7.2.269
> Problem:    Many people struggle to find out why Vim startup is slow.
> Solution:   Add the --startuptime command line flag.
> Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h,
>            src/main.c, src/macros.h

That's useful.

Shouldn't "vim --help" list the option --startuptime=<file>
Attached patch adds it.

I notice that it seems to be the only option to require an
equal sign '=' between the command line flag and its argument.

-- Dominique

  fix-missing-startuptime-in-usage.patch
< 1K Download

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bram Moolenaar  
View profile  
 More options Nov 3, 4:46 pm
From: Bram Moolenaar <B...@Moolenaar.net>
Date: Tue, 03 Nov 2009 22:46:18 +0100
Local: Tues, Nov 3 2009 4:46 pm
Subject: Re: Patch 7.2.269

Dominique Pelle wrote:

> > Patch 7.2.269
> > Problem:    Many people struggle to find out why Vim startup is slow.
> > Solution:   Add the --startuptime command line flag.
> > Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h,
> >            src/main.c, src/macros.h

> That's useful.

> Shouldn't "vim --help" list the option --startuptime=<file>
> Attached patch adds it.

> I notice that it seems to be the only option to require an
> equal sign '=' between the command line flag and its argument.

Yeah, that's inconsistent.  Shall we change it to
        vim --startuptime <file>

--
The Law, in its majestic equality, forbids the rich, as well as the
poor, to sleep under the bridges, to beg in the streets, and to steal
bread.                       -- Anatole France

 /// Bram Moolenaar -- B...@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard Hartmann  
View profile  
 More options Nov 8, 5:37 am
From: Richard Hartmann <richih.mailingl...@gmail.com>
Date: Sun, 8 Nov 2009 11:37:59 +0100
Local: Sun, Nov 8 2009 5:37 am
Subject: Re: Patch 7.2.269
2009/11/3 Bram Moolenaar <B...@moolenaar.net>:

> Yeah, that's inconsistent.  Shall we change it to
>        vim --startuptime <file>

Aye from me. Also, it should default to a reasonable filename if none is
given. Personally, I'd suggest

  vim_startup.

Also, wouldn't it make more sense to create a new file instead of
appending? Two possible solutions are a counter and a timestamp. So a
filename like

  vim_startup.20091108-113425

might be a good solution. I.e.

  $filename.$ISO_DATE.$HHMMSS

optionally interspersed with dashes and dots to increase legibility.

Richard


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bram Moolenaar  
View profile  
 More options Nov 8, 7:19 am
From: Bram Moolenaar <B...@Moolenaar.net>
Date: Sun, 08 Nov 2009 13:19:46 +0100
Local: Sun, Nov 8 2009 7:19 am
Subject: Re: Patch 7.2.269

Richard Hartmann wrote:
> 2009/11/3 Bram Moolenaar <B...@moolenaar.net>:

> > Yeah, that's inconsistent.  Shall we change it to
> >  vim --startuptime <file>

> Aye from me. Also, it should default to a reasonable filename if none is
> given. Personally, I'd suggest

>   vim_startup.

I rather avoid using a default name, because it's easy to accidentally
overwrite an existing file.  And it would require another flag to
specify the name when you want to, because you don't know if the
argument that follows is a log file name or a file to be edited.  And
the files with the default name would be written in the current
directory, which makes this even more tricky.

> Also, wouldn't it make more sense to create a new file instead of
> appending? Two possible solutions are a counter and a timestamp. So a
> filename like

>   vim_startup.20091108-113425

> might be a good solution. I.e.

>   $filename.$ISO_DATE.$HHMMSS

> optionally interspersed with dashes and dots to increase legibility.

The idea is that you get a log of startups in one file.  So you can have
Vim startup a dozen times, and then look in the log file what happened.
Writing all different files makes this a bit more complicated.

Appending also avoids that when you accidentally give an existing file
name it's overwritten.

--
If you only have a hammer, you tend to see every problem as a nail.
If you only have MS-Windows, you tend to solve every problem by rebooting.

 /// Bram Moolenaar -- B...@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard Hartmann  
View profile  
 More options Nov 8, 9:52 am
From: Richard Hartmann <richih.mailingl...@gmail.com>
Date: Sun, 8 Nov 2009 15:52:14 +0100
Local: Sun, Nov 8 2009 9:52 am
Subject: Re: Patch 7.2.269
2009/11/8 Bram Moolenaar <B...@moolenaar.net>:

> I rather avoid using a default name, because it's easy to accidentally
> overwrite an existing file.

Not if you append a counter or similar to the filename.

>  And it would require another flag to
> specify the name when you want to, because you don't know if the
> argument that follows is a log file name or a file to be edited.

There is that. Good point.

>  And
> the files with the default name would be written in the current
> directory, which makes this even more tricky.

Same problem as with file names you specify.

> The idea is that you get a log of startups in one file.  So you can have
> Vim startup a dozen times, and then look in the log file what happened.
> Writing all different files makes this a bit more complicated.

Depends on the format you use. Personally, I woud tend to use vimdiff
if possible.

> Appending also avoids that when you accidentally give an existing file
> name it's overwritten.

Arguably, that is worse as it could destroy the syntax of data in an
existing file. The problem can be avoided by appending to the filename.
Clutter vs data safety, so to speak.

Richard


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google