54 reltime(), reltimestr()

たまには、特定のスクリプトから離れたことを書いてみる。今回は Vim7 で追加された関数 reltime(), reltimestr() に注目してみる。

結論

:h reltime()
:h profile

使える条件

v:version >= 700 && has('reltime')

どういう関数か

let start = reltime()
" ...
echo reltimestr(reltime(start))
let start = reltime()
" ...
let end = reltime()
echo reltimestr(reltime(start, end))

てな感じでやれば、実行にかかった時間がマイクロ秒単位で見える。すげー。ちなみに実装依存な部分が多いらしい。自分の環境( WinXP + Vim7(kaoriya) )では普通に動いたから OK 。:profile とかもそのうち使ってみたいなと思ってる。

で、これで :vimgrep と grep の速度差を見て、げんなりした。

has() のとこ間違えてたので修正

例の一つ目が間違えてたので修正