Speeding up cold startup

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Speeding up cold startup

Kevin Burke
Hi,
Are there any tricks I can use to speed up Macvim's cold startup? It takes maybe a second to load on my machine, when it's called via the "mvim" executable.

The last post I could find about speeding up about Macvim was from 2008 - https://groups.google.com/forum/#!msg/vim_mac/bEC5e4BLb-4/nkMIsfsRygUJ... has any progress been made since then, or are there any outstanding areas that could be sped up?

Best,
Kevin

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Phil Dobbin
On 15/10/2013 06:46, Kevin Burke wrote:

> Hi,
> Are there any tricks I can use to speed up Macvim's cold startup? It takes maybe a second to load on my machine, when it's called via the "mvim" executable.
>
> The last post I could find about speeding up about Macvim was from 2008 - https://groups.google.com/forum/#!msg/vim_mac/bEC5e4BLb-4/nkMIsfsRygUJ... has any progress been made since then, or are there any outstanding areas that could be sped up?

My copy of MacVim (snapshot 70) on 10.6.8 takes a full ten seconds to
launch from cold (so does console Vim too). Even launching console Vim
with no plugins & no vimrc, it takes three seconds.

On Linux, Ubuntu 13.04 & SL 6.4 launch instantaneously whereas all the
rest take between two to three seconds.

All machines have the same plugins & same vimrc.

Cheers,

  Phil...

--
currently (ab)using
Arch Linux, CentOS 5.9 & 6.4, Debian Squeeze & Wheezy, Fedora Spherical
& That Damn Cat, OS X Snow Leopard & Tiger, Scientific Linux 6.4, Ubuntu
Quantal & Raring
GnuGPG Key : http://phildobbin.org/publickey.asc


--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Bee
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Bee
In reply to this post by Kevin Burke

On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
>Are there any tricks I can use to speed up Macvim's cold startup?

On my old old old PowerBook G3 Pismo 500 MHz
MacVim 7.4.52, compiled from source, loads in 4 seconds !
Terminal vim, using the MacVim binary, loads in 1 second.

.vimrc 28K
.gvimrc 3K

Try this from terminal to see where yours is slow:

vim --startuptime starting.txt

Bill

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Bee
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Bee
In reply to this post by Kevin Burke
On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
>Are there any tricks I can use to speed up Macvim's cold startup?

On my old old old PowerBook G3 Pismo 500 MHz
MacVim 7.4.52, compiled from source, loads in 4 seconds !
Terminal vim, using the MacVim binary, loads in less that 0.4 seconds.

.vimrc 28K
.gvimrc 3K

Try this from terminal to see where yours is slow:

vim --startuptime starting.txt

times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.042  000.042: --- VIM STARTING ---
000.990  000.948: Allocated generic buffers
001.082  000.092: locale set
001.141  000.059: GUI prepared
001.168  000.027: clipboard setup
001.210  000.042: window checked
026.340  025.130: inits 1
026.469  000.129: parsing arguments
037.846  011.377: expanding arguments
081.732  043.886: shell init
086.122  004.390: Termcap init
086.849  000.727: inits 2
106.271  019.422: init highlight
113.162  001.874  001.874: sourcing $VIM/vimrc
127.923  000.889  000.889: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/nosyntax.vim
149.763  034.567  033.678: sourcing $HOME/.vimrc
149.864  007.152: sourcing vimrc file(s)
158.156  000.975  000.975: sourcing /Users/Bee/.vim/plugin/characterize.vim
162.342  000.605  000.605: sourcing /Users/Bee/.vim/plugin/explainpat.vim
168.033  002.050  002.050: sourcing /Users/Bee/.vim/plugin/plutil.vim
174.373  002.506  002.506: sourcing /Users/Bee/.vim/plugin/Rndm.vim
181.047  003.020  003.020: sourcing /Users/Bee/.vim/plugin/textutil.vim
216.751  031.838  031.838: sourcing /Users/Bee/.vim/plugin/zencoding.vim
231.009  001.575  001.575: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
239.216  002.374  002.374: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
245.948  000.451  000.451: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
258.468  006.921  006.921: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
265.784  000.883  000.883: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
274.536  000.819  000.819: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
283.499  002.659  002.659: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
291.812  002.002  002.002: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
300.498  002.689  002.689: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
309.815  003.092  003.092: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
310.752  096.429: loading plugins
310.831  000.079: inits 3
319.490  008.659: reading viminfo
319.640  000.150: setting raw mode
321.096  001.456: start termcap
324.123  003.027: clearing screen
324.893  000.770: opening buffers
325.459  000.566: BufEnter autocommands
325.481  000.022: editing files in windows
368.618  043.137: VimEnter autocommands
368.675  000.057: before starting main loop
397.002  028.327: first screen update
397.025  000.023: --- VIM STARTED ---

Bill

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Bee
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Bee
In reply to this post by Kevin Burke
On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
> Are there any tricks I can use to speed up Macvim's cold startup?

For comparison, this is MacVim starting on the old PowerBook G3,
starting in less than 2.7 seconds:

gvim --startuptime startingg.txt

times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.043  000.043: --- VIM STARTING ---
000.975  000.932: Allocated generic buffers
008.282  007.307: locale set
008.421  000.139: GUI prepared
008.452  000.031: clipboard setup
008.489  000.037: window checked
016.358  007.869: inits 1
016.457  000.099: parsing arguments
029.513  013.056: expanding arguments
106.935  077.422: shell init
107.840  000.905: inits 2
131.269  023.429: init highlight
138.398  001.533  001.533: sourcing $VIM/vimrc
154.815  001.003  001.003: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/nosyntax.vim
186.798  042.643  041.640: sourcing $HOME/.vimrc
186.916  011.471: sourcing vimrc file(s)
195.545  001.012  001.012: sourcing /Users/Bee/.vim/plugin/characterize.vim
198.923  000.540  000.540: sourcing /Users/Bee/.vim/plugin/explainpat.vim
205.311  001.974  001.974: sourcing /Users/Bee/.vim/plugin/plutil.vim
231.026  002.903  002.903: sourcing /Users/Bee/.vim/plugin/Rndm.vim
237.142  002.962  002.962: sourcing /Users/Bee/.vim/plugin/textutil.vim
304.995  061.540  061.540: sourcing /Users/Bee/.vim/plugin/zencoding.vim
326.012  001.193  001.193: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
337.844  002.511  002.511: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
347.001  000.362  000.362: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
368.994  006.501  006.501: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
383.486  001.002  001.002: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
393.060  000.865  000.865: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
414.171  004.820  004.820: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
422.107  001.971  001.971: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
434.998  005.736  005.736: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
452.251  003.379  003.379: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
453.312  167.125: loading plugins
453.390  000.078: inits 3
476.319  001.051  001.051: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/autoload/paste.vim
749.374  290.885  289.834: sourcing $VIMRUNTIME/menu.vim
793.630  005.903  005.903: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
795.589  016.237  010.334: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
800.067  000.958  000.958: sourcing /Users/Bee/.vim/filetype.vim
1096.401  020.091  020.091: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/menu.vim
1096.909  291.723  271.632: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
1097.751  327.364  018.446: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
1100.162  337.007  009.643: sourcing $VIM/gvimrc
1121.741  003.095  003.095: sourcing /Applications/MacVim/MacVim.app/Contents/Resources/vim/runtime/syntax/nosyntax.vim
1122.420  019.546  016.451: sourcing $HOME/.gvimrc
2544.237  1444.409: starting GUI
2554.106  009.869: reading viminfo
2662.202  108.096: GUI delay
2662.256  000.054: setting raw mode
2662.273  000.017: start termcap
2663.192  000.919: clearing screen
2665.439  002.247: opening buffers
2666.163  000.724: BufEnter autocommands
2666.188  000.025: editing files in windows
2668.729  002.541: VimEnter autocommands
2668.785  000.056: before starting main loop
2689.821  021.036: first screen update
2689.848  000.027: --- VIM STARTED ---

Bill

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Bee
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Bee
In reply to this post by Kevin Burke
On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
>Are there any tricks I can use to speed up Macvim's cold startup?

This is how I start MacVim GUI and terminal:

MACVIM="/Applications/MacVim/MacVim.app/Contents/MacOS/Vim";
if [ -e "$MACVIM" ]; then
  alias vim="$MACVIM ${@}";
  alias gvim="$MACVIM -g ${@}";
fi; export EDITOR=vim; alias e=vim;

Bill

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Björn Winckler
In reply to this post by Bee
On Tue, Oct 15, 2013 at 4:49 PM, Bee wrote:

>
> On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
>>Are there any tricks I can use to speed up Macvim's cold startup?
>
> On my old old old PowerBook G3 Pismo 500 MHz
> MacVim 7.4.52, compiled from source, loads in 4 seconds !
> Terminal vim, using the MacVim binary, loads in 1 second.
>
> .vimrc 28K
> .gvimrc 3K
>
> Try this from terminal to see where yours is slow:
>
> vim --startuptime starting.txt

For comparison: on my 2010 MacBook Air it takes 15 ms to start console
Vim and about 140 ms to start GUI Vim (as measured with "vim -g -u
NONE --startuptime start.txt").  To me that is more than fast
enough...

Björn

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Kevin Burke
So I used binary search to track down the issue and narrowed it to this line in my vimrc:

set rtp+=$GOROOT/misc/vim

If $GOROOT is not set, vim gets very slow (for me 'Starting GUI' takes about 5.5 seconds). Otherwise macvim boots in about half a second, which isn't great, but is fast enough for me.

I can produce more info if it'll be useful for debugging but you'll have to show me how.

On Tuesday, October 15, 2013 12:43:52 PM UTC-7, björn wrote:

> On Tue, Oct 15, 2013 at 4:49 PM, Bee wrote:
>
> >
>
> > On Monday, October 14, 2013 10:46:47 PM UTC-7, Kevin Burke wrote:
>
> >>Are there any tricks I can use to speed up Macvim's cold startup?
>
> >
>
> > On my old old old PowerBook G3 Pismo 500 MHz
>
> > MacVim 7.4.52, compiled from source, loads in 4 seconds !
>
> > Terminal vim, using the MacVim binary, loads in 1 second.
>
> >
>
> > .vimrc 28K
>
> > .gvimrc 3K
>
> >
>
> > Try this from terminal to see where yours is slow:
>
> >
>
> > vim --startuptime starting.txt
>
>
>
> For comparison: on my 2010 MacBook Air it takes 15 ms to start console
>
> Vim and about 140 ms to start GUI Vim (as measured with "vim -g -u
>
> NONE --startuptime start.txt").  To me that is more than fast
>
> enough...
>
>
>
> Björn

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Tony Mechelynck
On Wednesday, December 11, 2013 7:42:43 AM UTC+1, Kevin Burke wrote:

> So I used binary search to track down the issue and narrowed it to this line in my vimrc:
>
>
>
> set rtp+=$GOROOT/misc/vim
>
>
>
> If $GOROOT is not set, vim gets very slow (for me 'Starting GUI' takes about 5.5 seconds). Otherwise macvim boots in about half a second, which isn't great, but is fast enough for me.
>
>
>
> I can produce more info if it'll be useful for debugging but you'll have to show me how.

Try

    if $GOROOT != ""
        set rtp+=$GOROOT/misc/vim
    endif

Or else, use the standard directories ($HOME/.vim and $HOME/.vim/after for user-private scripts, $VIM/vimfiles and $VIM/vimfiles/after for system-wide scripts not distributed with Vim, and $VIMRUNTIME — at the moment, normally $VIM/vim74 — for ONLY the files that come with Vim). These are the 'runtimepath' default. On Unix-like OSes, $VIM is usually /usr/local/share/vim but it may vary a little from one installation to the next; one factor may be whether you compiled Vim yourself or got it from the same source as your OS.

One way to "have it both ways" if you don't need _different_ scripts in $GOROOT/misc/vim and $HOME/.vim is to symlink the latter to the former on installations where $GOROOT is defined.

Best regards,
Tony.
--
"The devout are always urged to seek the absolute
 truth with their hearts and not their minds."
      [Eric Hoffer, "The True Believer"]

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Speeding up cold startup

Kevin Burke
On Wednesday, December 11, 2013 3:00:43 AM UTC-8, Tony Mechelynck wrote:

> On Wednesday, December 11, 2013 7:42:43 AM UTC+1, Kevin Burke wrote:
>
> > So I used binary search to track down the issue and narrowed it to this line in my vimrc:
>
> >
>
> >
>
> >
>
> > set rtp+=$GOROOT/misc/vim
>
> >
>
> >
>
> >
>
> > If $GOROOT is not set, vim gets very slow (for me 'Starting GUI' takes about 5.5 seconds). Otherwise macvim boots in about half a second, which isn't great, but is fast enough for me.
>
> >
>
> >
>
> >
>
> > I can produce more info if it'll be useful for debugging but you'll have to show me how.
>
>
>
> Try
>
>
>
>     if $GOROOT != ""
>
>         set rtp+=$GOROOT/misc/vim
>
>     endif
>
>
>
> Or else, use the standard directories ($HOME/.vim and $HOME/.vim/after for user-private scripts, $VIM/vimfiles and $VIM/vimfiles/after for system-wide scripts not distributed with Vim, and $VIMRUNTIME — at the moment, normally $VIM/vim74 — for ONLY the files that come with Vim). These are the 'runtimepath' default. On Unix-like OSes, $VIM is usually /usr/local/share/vim but it may vary a little from one installation to the next; one factor may be whether you compiled Vim yourself or got it from the same source as your OS.
>
>
>
> One way to "have it both ways" if you don't need _different_ scripts in $GOROOT/misc/vim and $HOME/.vim is to symlink the latter to the former on installations where $GOROOT is defined.
>
>
>
> Best regards,
>
> Tony.
>
> --
>
> "The devout are always urged to seek the absolute
>
>  truth with their hearts and not their minds."
>
>       [Eric Hoffer, "The True Believer"]

Hi Tony,

Thanks! I guess I'm just curious why the start time slows down so dramatically if that variable is not defined.

--
--
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.