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 41 11.26710.28614.6308.992 0.6200.620
2 12.04810.99014.7399.000 0.6250.625
3 12.21011.14014.8229.129 0.6430.643
4 13.18112.11517.0619.145 0.6520.652
5 13.63012.61518.97511.2650.8900.890
平均12.46711.42916.0459.506 0.686
vim9script 1 10.7669.810 14.8189.082 0.6110.611
2 11.11410.15814.9769.102 0.6150.615
3 11.14310.16215.0209.202 0.6210.621
4 11.27110.25615.5039.245 0.6290.629
5 11.32510.30615.8619.588 0.6480.648
平均11.12410.13815.2369.244 0.6250.625
速度Up[%]10.77211.2965.04212.756 8.89

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

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

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

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