cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

vim処理速度調査(オートロード関数読み込み編2)

※この記事は全面的に誤っていたので修正されました。
そして、修正後の結果は極めて当然の話なので情報的価値がないです。

ふとruntimeを用いてスクリプトを読み込む場合と、autoload関数呼び出し時のスクリプトのautoloadで速度に違いがあるのか気になったので計測してみた。
速度計測にはLeafCage/laptime.vimを使用した。

autoload

let lt = laptime#new()
call speed1#nop()
call lt.lap()
call speed2#nop()
call lt.lap()
call speed3#nop()
call lt.lap()
call speed4#nop()
call lt.lap()
call speed5#nop()
call lt.lap()
call speed6#nop()
call lt.lap()
call speed7#nop()
call lt.lap()
call speed8#nop()
call lt.lap()
call speed9#nop()
call lt.lap()
call speed10#nop()
call lt.end()
       TOTAL       LAP
  1:   0.003668    0.003668
  2:   0.007119    0.003452
  3:   0.010381    0.003262
  4:   0.013674    0.003293
  5:   0.017192    0.003517
  6:   0.020612    0.003421
  7:   0.025109    0.004497
  8:   0.028710    0.003600
  9:   0.032110    0.003400
 10:   0.037759    0.005649

runtime

let lt = laptime#new()
runtime autoload/speed1.vim
call lt.lap()
runtime autoload/speed2.vim
call lt.lap()
runtime autoload/speed3.vim
call lt.lap()
runtime autoload/speed4.vim
call lt.lap()
runtime autoload/speed5.vim
call lt.lap()
runtime autoload/speed6.vim
call lt.lap()
runtime autoload/speed7.vim
call lt.lap()
runtime autoload/speed8.vim
call lt.lap()
runtime autoload/speed9.vim
call lt.lap()
runtime autoload/speed10.vim
call lt.end()
       TOTAL       LAP
  1:   0.007248    0.007248
  2:   0.013605    0.006357
  3:   0.019803    0.006198
  4:   0.027628    0.007826
  5:   0.034176    0.006548
  6:   0.040779    0.006603
  7:   0.046969    0.006190
  8:   0.053571    0.006602
  9:   0.060535    0.006964
 10:   0.067262    0.006728

2度読み込みされている分、:runtime のほうが遅かったです