2009-04-14

Vim profiling

Vimの起動時間を正確に調べる方法。要 +huge。


vim --cmd ":prof start /tmp/prof.txt" --cmd ":prof! file *" -c ":quit" ~/.vimrc


を実行すると、 /tmp/prof.txt に


SCRIPT ~/.vimrc
Sourced 1 time
Total time: 0.034885
Self time: 0.005636
...

SCRIPT /Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
Sourced 1 time
Total time: 0.027747
Self time: 0.027747
...

FUNCTIONS SORTED ON TOTAL TIME
count total (s) self (s) function
1 0.033967 0.000050 2_StarSetf()
1 0.031982 0.000425 6_SynSet()
1 0.004336 0.000069 23_VerifyEncoding()


とか書き出されます。


SolarisやFreeBSD、Leopardだと、http://blogs.sun.com/brendan/entry/dtracing_vim_latencyも便利ですね。

procsystime、dtrussを知らなかったので、似たようなことするのにdtraceのscript書いてました。

というか man -k dtrace すると、いちいちdtraceのscript書かなくてもいいくらいたくさんscriptが入ってますね...