はじめに
同僚にVimの起動時間を計測する方法を教えてもらったので、備忘録がてら紹介します。
環境
- ハード:MacBook Pro (16-inch, 2019)
- OS:macOS Monterey 12.4
- Neovim:v0.7.0
起動時間の計測
ターミナルで以下を実行するのみです。
Neovimの場合は vim
でなく nvim
としてください。
$ vim --startuptime startuptime.log +q
startuptime.log
が作成されるので、開いて確認します。
$ vim startuptime.log
私のログで一部抜粋したものを載せます。
startuptime.log
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.015 000.015: --- NVIM STARTING ---
...
024.360 000.355 000.355: sourcing /usr/local/Cellar/neovim/0.7.0/share/nvim/runtime/indoff.vim
246.429 000.547 000.547: sourcing /usr/local/Cellar/neovim/0.7.0/share/nvim/runtime/syntax/synload.vim
...
319.162 000.299 000.299: sourcing /Users/{ユーザー名}/.cache/dein/repos/github.com/Shougo/dein.vim/autoload/vital/_dein/System/Job/Neovim.vim
735.417 478.538 468.481: sourcing /Users/{ユーザー名}/.vim/config/plugins.vim
...
786.106 000.003: editing files in windows
私のNeovimは起動に約0.8秒かかっています。
同僚たちは0.2秒ほどで終わっているのがほとんどなので、私の .vimrc
はチューニングの余地があることがわかりました。
ボトルネックは以下の2箇所でした。
synload.vim
plugins.vim
後者は自分が作成したファイルなので調整できそうです。
しかし前者はNeovimに同梱されているファイルなので、どう調整すればいいかパッとはわかりません。
0.8秒だと特に気にならないですが、時間のあるときにチューニングしたいと思います。
確認が終わったらログファイルを削除します。
$ rm startuptime.log
おわりに
これでVimの起動時間を計測できました。
みなさんも計測してみてください!
私が見つけたボトルネックのチューニング方法がわかる人がいたら、教えていただけると嬉しいです。