リストに対するランダムアクセス
- vim のリストは線形リストである.
- なので, 要素へのアクセスは O(len(list)) である.
- ということは, 辞書をリストっぽくつかったほうがランダムアクセスははやい?
- 私の環境では, リスト長が 100 くらいまではリストがはやいけど, それ以上なら辞書を使うべきらしい
- vim-vimlint で node->tag が 1 から 90 まで if 文で比較する処理があったので Funcref のリストを使ったらはやくなった
- improve s:VimlLint.compile() by using a list of Funcref (#7) · syngan/vim-vimlint@15dc232 · GitHub
- 他にもいろいろやったら autoload/vimlint.vim の解析が, 以前は parse 15秒 + lint 15秒 くらいだったのが, lint 2 秒くらいになった
5秒くらいはデバッグ用の処理だった
おしまい。