Gvim startup slow. Please see the log and advise

46 views
Skip to first unread message

Sharat A

unread,
Aug 18, 2017, 5:06:36 PM8/18/17
to vim_use
Hi,

My Gvim startup time is slow. With all plugins it's taking around 4sec. I don't understand why source $VIMRUNTIME/menu.vim is taking 1200 msec. Any pointers? (I like to reduce atleast 1 sec in my Gvim startup time). Thank you!

Note: only pasted the relevant portion, where menu.vim is taking 1200 msec.
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines

000.000 000.000: --- VIM STARTING ---
000.000 000.000: Allocated generic buffers
012.000 012.000: locale set
026.000 014.000: GUI prepared
026.000 000.000: clipboard setup
026.000 000.000: window checked
027.000 001.000: inits 1
038.000 011.000: parsing arguments
038.000 000.000: expanding arguments
057.000 019.000: shell init
057.000 000.000: inits 2
057.000 000.000: init highlight
082.000 003.000 003.000: sourcing C:\Users\addansa\.vim\autoload\plug.vim
146.000 000.000 000.000: sourcing C:\Users\addansa\.vim\plugged\ultisnips\ftdetect\snippets.vim
175.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\autoload\paste.vim
1360.000 1200.000 1200.000: sourcing C:\Users\addansa\PgmFiles\Vim/menu.vim
1360.000 1246.000 046.000: sourcing C:\Users\addansa\PgmFiles\Vim\filetype.vim
1376.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\ftplugin.vim
1394.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\indent.vim
1436.000 005.000 005.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syncolor.vim
1438.000 021.000 016.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\synload.vim
1438.000 036.000 015.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syntax.vim
1453.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax/nosyntax.vim
1482.000 001.000 001.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syncolor.vim
1483.000 016.000 015.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\synload.vim
1483.000 038.000 022.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syntax.vim
1499.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\filetype.vim
1517.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\ftplugin.vim
1535.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\indent.vim
1553.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syncolor.vim
1582.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syncolor.vim
1597.000 000.000 000.000: sourcing C:\Users\addansa\PgmFiles\Vim\syntax\syncolor.vim
1601.000 034.000 034.000: sourcing C:\Users\addansa\.vim\plugged\vim-colors-solarized\colors\solarized.vim
1915.000 1846.000 489.000: sourcing $HOME\_vimrc


-----------------------------
My Vim configuration:

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 15 2017 02:02:20)
MS-Windows 64-bit console version
Included patches: 1-642
Compiled by hp@HP-PC
Huge version without GUI. Features included (+) or not (-):
+acl +ex_extra -mouseshape +tag_old_static
+arabic +extra_search +multi_byte -tag_any_white
+autocmd +farsi +multi_lang +tcl/dyn
-balloon_eval +file_in_path +mzscheme/dyn +termguicolors
-browse +find_in_path -netbeans_intg -tgetent
++builtin_terms +float +num64 -termresponse
+byte_offset +folding +packages +textobjects
+channel -footer +path_extra +timers
+cindent +gettext/dyn +perl/dyn +title
+clientserver -hangul_input +persistent_undo -toolbar
+clipboard +iconv/dyn -postscript +user_commands
+cmdline_compl +insert_expand +printer +vertsplit
+cmdline_hist +job +profile +virtualedit
+cmdline_info +jumplist +python/dyn +visual
+comments +keymap +python3/dyn +visualextra
+conceal +lambda +quickfix +viminfo
+cryptv +langmap +reltime +vreplace
+cscope +libcall +rightleft +wildignore
+cursorbind +linebreak +ruby/dyn +wildmenu
+cursorshape +lispindent +scrollbind +windows
+dialog_con +listcmds +signs +writebackup
+diff +localmap +smartindent -xfontset
+digraphs +lua/dyn +startuptime -xim
-dnd +menu +statusline -xpm_w32
-ebcdic +mksession -sun_workshop -xterm_save
+emacs_tags +modify_fname +syntax
+eval +mouse +tag_binary
system vimrc file: "$VIM\vimrc"
user vimrc file: "$HOME\_vimrc"
2nd user vimrc file: "$HOME\vimfiles\vimrc"
3rd user vimrc file: "$VIM\_vimrc"
user exrc file: "$HOME\_exrc"
2nd user exrc file: "$VIM\_exrc"
defaults file: "$VIMRUNTIME\defaults.vim"
Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_JOB_CHANNEL -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 /Fo.\ObjCULYHTRZAMD64/ /MP -DHAVE_STDINT_H /Ox /GL -DNDEBUG /MD -DFEAT_MBYTE -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl86.dll\" -DDYNAMIC_TCL_VER=\"8.6\" -DFEAT_LUA -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua53.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python36.dll\" -DFEAT_MZSCHEME -I "C:\Users\hp\Desktop\racket-x64\include" -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libracketxxxxxxx.dll\" -DDYNAMIC_MZGC_DLL=\"libmzgcxxxxxxx.dll\" -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl526.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=24 -DDYNAMIC_RUBY_DLL=\"x64-msvcrt-ruby240.dll\" -DFEAT_HUGE /Fd.\ObjCULYHTRZAMD64/ /Zi
Linking: link /RELEASE /nologo /subsystem:console /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib uuid.lib /machine:AMD64 msvcrt.lib user32.lib /nodefaultlib:lua53.lib /STACK:8388608 /nodefaultlib:python27.lib /nodefaultlib:python36.lib "C:\TCL\lib\tclstub86.lib" WSock32.lib /PDB:vim.pdb -debug

Regards,
Sharat

Sharat A

unread,
Aug 18, 2017, 5:12:54 PM8/18/17
to vim_use

Pasted vim version info previously. Here is Gvim version info

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 15 2017 02:01:16)
MS-Windows 64-bit GUI version with OLE support


Included patches: 1-642
Compiled by hp@HP-PC

Huge version with GUI. Features included (+) or not (-):
+acl +eval +mouse +syntax
+arabic +ex_extra +mouseshape +tag_binary
+autocmd +extra_search +multi_byte_ime/dyn +tag_old_static
+balloon_eval +farsi +multi_lang -tag_any_white
+browse +file_in_path +mzscheme/dyn +tcl/dyn
++builtin_terms +find_in_path +netbeans_intg -termguicolors
+byte_offset +float +num64 -tgetent
+channel +folding +ole -termresponse
+cindent -footer +packages +textobjects
+clientserver +gettext/dyn +path_extra +timers
+clipboard -hangul_input +perl/dyn +title
+cmdline_compl +iconv/dyn +persistent_undo +toolbar
+cmdline_hist +insert_expand -postscript +user_commands
+cmdline_info +job +printer +vertsplit
+comments +jumplist +profile +virtualedit
+conceal +keymap +python/dyn +visual
+cryptv +lambda +python3/dyn +visualextra
+cscope +langmap +quickfix +viminfo
+cursorbind +libcall +reltime +vreplace
+cursorshape +linebreak +rightleft +wildignore
+dialog_con_gui +lispindent +ruby/dyn +wildmenu
+diff +listcmds +scrollbind +windows
+digraphs +localmap +signs +writebackup
+directx +lua/dyn +smartindent -xfontset
-dnd +menu +startuptime -xim
-ebcdic +mksession +statusline +xpm_w32
+emacs_tags +modify_fname -sun_workshop -xterm_save


system vimrc file: "$VIM\vimrc"
user vimrc file: "$HOME\_vimrc"
2nd user vimrc file: "$HOME\vimfiles\vimrc"
3rd user vimrc file: "$VIM\_vimrc"
user exrc file: "$HOME\_exrc"
2nd user exrc file: "$VIM\_exrc"

system gvimrc file: "$VIM\gvimrc"
user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
defaults file: "$VIMRUNTIME\defaults.vim"
system menu file: "$VIMRUNTIME\menu.vim"


Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE

-DFEAT_NETBEANS_INTG -DFEAT_JOB_CHANNEL -DFEAT_XPM_W32
-DWINVER=0x0501 -D_WIN32_WINNT=0x0501 /Fo.\ObjGXOULYHTRZAMD64/ /MP
-DHAVE_STDINT_H /Ox /GL -DNDEBUG /MD -DFEAT_OLE -DFEAT_MBYTE_IME
-DDYNAMIC_IME -DGLOBAL_IME -DFEAT_MBYTE -DFEAT_GUI_W32 -DFEAT_DIRECTX
-DDYNAMIC_DIRECTX -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL

-DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl86.dll\" -DDYNAMIC_TCL_VER=\"8.6\"
-DFEAT_LUA -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua53.dll\" -DFEAT_PYTHON
-DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3
-DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python36.dll\" -DFEAT_MZSCHEME

Regards,
Sharat

Frank Shute

unread,
Aug 18, 2017, 5:38:17 PM8/18/17
to vim...@googlegroups.com
Look carefully at the line sourcing menu.vim:

> 360.000 1200.000 1200.000: sourcing C:\Users\addansa\PgmFiles\Vim/menu.vim

Notice the forward slash rather than backslash before "menu.vim"
unlike everywhere else?

I wouldn't be surprised if that's your problem. Filepath handling on
Windows is a train wreck:

https://googleprojectzero.blogspot.co.uk/2016/02/the-definitive-guide-on-win32-to-nt.html

I'm afraid I can't offer a solution.

Regards,
> --
> --
> You received this message from the "vim_use" 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_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--

Frank

Marc Weber

unread,
Aug 19, 2017, 4:29:40 AM8/19/17
to vim_use

If a plugin is slow you can load it lazily as needed.
Then the 1.2 secs only have to be spent if you use the features.

VAM, NeoVim, https://github.com/junegunn/vim-plug all support kind of
lazy leading.

Talk about what menu.vim is doing, maybe there is an alternative
solution.

You can also use -V20/tmp/log and look at the logfile to find out where
Vim is spending most time.

Marc Weber
Reply all
Reply to author
Forward
0 new messages