SkRegExp version 1.1.5 の弱点

SkRegExp version 1.1.5 はほとんどの構文で PerlRegEx より速いです。

誤解のないように書き添えておくと、文字コード変換のオーバーヘッドを除いて計測した上での結論です。

もっとも、ネットを見渡すと PCRE はどうやら遅いほうのライブラリみたいですけどね。

PerlRegEx より速いをウリにすれば SkRegExp のブランド価値も上がるんですが、そうは行かない事情があります。

実は、文字クラスがいい勝負なのです。ケースバイケースで速かったり遅かったりします。

理由はわかっています。

TRECharClassCode.IsEqual を見ればわかりますが、無駄な照合を行っているんですね。

これ、FCodeList が昇順に並んでいれば、もっと速くマッチ失敗の結果が返せます。

version 1.1.5 で Compare メソッドを TRECode に追加したのはそのための準備です。

文字クラスが最適化できれば胸を張って「PerlRegEx より速い」と言えるようになるんですが・・・。

コメントを残す

メールアドレスが公開されることはありません。