coteditor/CotEditor — pull request #103 by 1024jp (2014-04-17 19:08:04+00:00)
Title: Replace RegexKitLite with NSRegularExpression

#48 「RegexKitLite を NSRegularExpression に置き換える」を試しに実際に置き換えてみました。

開発で使っているMacで以降前後のベンチマークもいくつかのサンプルファイルで取ってみたのですが、結果としては正直なところ、カラーリングにかかる時間が1.3 - 1.5倍ほど伸びております。

CotEditorは正規表現検索の結果のうち、matchした範囲 (NSRange) しか用いていないので、Stringなども全部含めた NSTextCheckingResult を返す NSRegularExpression は少し分が悪いのかもしれません。

なので、移行の利点としては:

- 外部ライブラリへの依存の軽減
- シンタックス編集でのエラーメッセージのローカライズ（NSRegularExpression は日本語もありました）
- Xcodeの静的解析でのWarning撲滅

くらいになってしまいます。

CotEditor 1.3.1 -> 1.4 のときにカラーリング時間が大幅に短縮したので、それでもなお CotEditor 1.3.1 と比較するならば早いのですが。

個人的には、昨今メンテ状況が怪しい外部ライブラリ依存の軽減は魅力的なので、それでもなお移行してもいいのではないかとも思うのですが、パフォーマンスの低下はあまり喜べる話ではないのかもしれません。

margeすべきかは @usami-k さんにお任せします。