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.0000502_StarSetf()
1 0.031982 0.0004256_SynSet()
1 0.004336 0.00006923_VerifyEncoding()
とか書き出されます。
SolarisやFreeBSD、Leopardだと、http://blogs.sun.com/brendan/entry/dtracing_vim_latencyも便利ですね。
procsystime、dtrussを知らなかったので、似たようなことするのにdtraceのscript書いてました。
というか man -k dtrace すると、いちいちdtraceのscript書かなくてもいいくらいたくさんscriptが入ってますね...