2009-05-19 8 views
0

glibc regexp関数の測定経験がありますか? このような測定を行うために実行する必要のある一般的なテストはありますか(検索しようとする正確なパターンをテストすることに加えて)?glibc regexp performance

ありがとうございました。

+0

式のコンパイル時間を測定しますか?マッチング時間?どちらも?リアルタイム? O() - 時間? –

+0

ほとんど私は時間のマッチングに興味があります。私は、ネットワークパケットをあまり遅延させずに分析するために、正規のCマッチング関数から正規表現に切り替えることができるかどうかを知りたいと思います。 – jackhab

答えて

0

正規表現のパフォーマンスは、使用している正規表現と適用するデータによって大きく異なります。正規表現をベンチマークするだけではほとんど意味がありません。あなたは実際のコードを正規表現とあなたの実際のプレーンなCの代わりにあなたの実際のデータと比較しなければなりません。

経験則として、必要なテキストを処理する手順コードが既に適切に機能している場合は、そのままにしておくといいでしょう。まだそのコードを持っていない場合は、(正規表現に精通していると仮定して)かなりの開発時間を節約できるので、正規表現から始めることをお勧めします。あなたはおそらく同等の正規表現よりも速い手続き型コードを書くことができますが、その違いは劇的ではありません。手続き型コードを記述し維持する努力は、正規表現を使用するよりもはるかに高いでしょう。

1

を取るあなたは手書き文字ごとに文字の比較、標準の文字列マッチング機能、またはスマートテキストマッチングアルゴリズムを使用していますか?

前者の場合、regexpと使用するライブラリの種類によっては、regexpへの切り替えがさらに高速になることがあります(glibcだけでなく、PCRE、リストされたライブラリがたくさんあります)。hereはるかに)。