BT

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

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年8月26日. 推定読書時間: 1 分 |

原文(投稿日: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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

.NETの派生を理解する

Wayne Citrin 2018年7月18日 午前3時44分

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT