Vim の設定ファイルを vim9script 化

Vim の設定ファイルを、パフォーマンスの向上と記述の曖昧さをなくすなどの目的で作られた vim9script に書き換えてみた

計測方法

vim -g --startuptime time.log

を実行して速度を比較してみた

対象ファイルいる

vim9script に書き換え比較したのは次のファイル

~/.vim/vimrc
殆どは set コマンドと若干の map
~/.vim/plugin/set.vim
  • プラグインの設定ファイル
  • 多くは map と遅延読み込みのための autocommand
~/.vim/gvimrc
  • タブライン
  • マウスのマッピング
  • フォントやウィンドウサイズ

結果

次表が 5 回の実行結果とその平均時間 (ms) で、それぞれファイル毎に左が処理時間、右がそれから他のファイルを読み込んで処理した分を除いた時間

種類 ~/.vim/vimrc ~/.vim/plugin/set.vim~/.vim/gvimrc
scriptversion 411.267 10.286 14.630 8.992  0.620 0.620
12.048 10.990 14.739 9.000  0.625 0.625
12.210 11.140 14.822 9.129  0.643 0.643
13.181 12.115 17.061 11.265 0.652 0.652
13.630 12.615 18.975 9.145  0.890 0.890
12.4672 11.4292 16.0454 9.5062 0.686 
vim9script 10.766  9.810 14.818 9.082  0.611 0.611
11.114 10.162 14.976 9.245  0.615 0.615
11.143 10.158 15.020 9.102  0.621 0.621
11.271 10.256 15.503 9.588  0.629 0.629
11.325 10.306 15.861 9.202  0.648 0.648
11.1238 10.1384 15.2356 9.2438 0.6248

見ての通り、確かに 5~10 % 程度の速くなっているが、この様な単純な設定ではヘルプに

vim9script の主な目的は劇的な性能の向上です。これは、コマンドをより効率よく実行できる命令にコンパイルすることで実現しています。これにより、10倍から100倍の実行速度の向上が期待できます。

と有るコンパイルによる効用が発揮できず激的な効果は期待できないようだ

ただ他にも何度か実行してみると vim9script のほうが極端に遅くなることが少ない印象が有る