BT

InfoQ ホームページ ニュース Vimの正規表現処理が高速化,1000以上の修正と細かな改良も

Vimの正規表現処理が高速化,1000以上の修正と細かな改良も

ブックマーク

原文(投稿日:2013/08/13)へのリンク

Vim 7.4が先頃,1ヶ月以上のベータ期間を経て,正式にリリースされた。さらに堅牢になると同時に,速度の向上した正規表現エンジンが新たに実装されている。

"大小すべての問題を解決して,Vimをより堅牢に" というのは,vimユーザから寄せられた一番欲しい機能リストの中で,6番目に数の多いものだった。Vim開発チームはこの問題を真剣に捉えたらしく,前回バージョンに1,000以上のフィックスと小改良を加えた7.3を,2010年8月にリリースした

これに加えて,新しい正規表現エンジンによってパフォーマンスも改善されている -

今は"旧"となった正規表現エンジンでは,バックトラッキングアルゴリズムを使用しています。ひとつの方法でテキストとパターンの一致を試みて,それが失敗すると,最初に戻って別の方法を試みる,というやり方です。単純なパターンならば良好に動作しますが,パターンが複雑になると,長いテキストでは非常に遅くなることがあります。

新しいエンジンはステートマシンを使用します。現在の文字に対して可能な選択肢をすべて試して,パターンの可能な状態を保存する方法です。単純なパターンでは少し遅くなりますが,複雑なパターンと長いテキストははるかに高速に処理できます。

python-bindeval(組み込みevalに代わるvim.bindeval)関数やpython-tabpageオブジェクト(tabpagesでの処理を可能にする)の追加など,Pythonインターフェースも改良されている。

7.3以降の変更内容の全リストは,これらreadmeファイル (2番目は7.4ベータ版以降のフィックス分)を参照するか,あるいは新バージョンのインストール後にコマンド ":help version7.4" を入力すればよい。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。