Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vim/neovimの起動時間・プラグイン読込時間を調べる

$
0
0

nvim, vimの起動時間を調べるには起動時に --startuptimeオプションをつけて起動します。
最後の引数はログを書き込むファイルパスです。

$ nvim --startuptime ./startup.log
$ vim --startuptime ./startup.log

nvim(,vim)ログを表示してみます。:e startup.log

nvim_--startuptime_startup.log
times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.057  000.057: --- NVIM STARTING ---
000.657  000.600: locale set
006.141  005.484: inits 1
006.167  000.026: window checked
006.400  000.233: parsing arguments
006.471  000.072: expanding arguments
006.537  000.065: inits 2
008.823  002.287: init highlight
008.971  000.034  000.034: sourcing $VIM/sysinit.vim
009.409  000.272  000.272: sourcing /home/vagrant/.config/nvim/autocmd.rc.vim
009.660  000.153  000.153: sourcing /home/vagrant/.config/nvim/keymap.rc.vim
029.147  000.064  000.064: sourcing /usr/share/vim/vimfiles/ftdetect/dockerfile.vim
029.239  000.047  000.047: sourcing /usr/share/vim/vimfiles/ftdetect/pullrequest.vim
029.382  018.686  018.574: sourcing /usr/share/nvim/runtime/filetype.vim
...長いので割愛

どのプラグインがボトルネックになっているか調べたかったので、各プラグインの読込時間順に並べます。
1列目が起動時間の累積和, 2列目が各プラグイン読込にかかる時間なので、2列目でソートしてやると各プラグインの読込時間を調べることができます。

:%!sort-k2nr
nvim_--startuptime_startup.log_sorted
1003.628  404.487: VimEnter autocommands
181.330  172.312  002.493: sourcing /home/vagrant/.config/nvim/init.vim
179.070  136.496  016.331: sourcing /home/vagrant/.local/share/dein/state_nvim.vim
167.905  117.085  116.138: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim
484.293  085.625  081.062: sourcing /home/vagrant/.local/share/dein/.cache/init.vim/.dein/plugin/yankring.vim
233.473  052.029  001.100: sourcing /usr/share/nvim/runtime/syntax/syntax.vim
397.464  048.698  048.698: sourcing /home/vagrant/.local/share/dein/.cache/init.vim/.dein/plugin/unimpaired.vim
563.897  039.847: opening buffers
282.280  039.627  019.037: sourcing /home/vagrant/.local/share/dein/.cache/init.vim/.dein/plugin/NERD_tree.vim
232.993  034.920  033.932: sourcing /usr/share/nvim/runtime/filetype.vim
1035.363  031.718: first screen update

...長いので割愛

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

上位に挙がってくるプラグインはlazyやon_eventなどで起動を遅らせる処置が必要そうです。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>