glibc 正規表現関数を測定した経験のある人はいますか? そのような測定を行うために実行する必要がある一般的なテストはありますか (検索する正確なパターンのテストに加えて)?
ありがとう。
手書きの文字ごとの比較、標準の文字列照合関数、またはスマートテキスト照合アルゴリズムを使用していますか?
特に前者の場合、正規表現の種類と使用するライブラリによっては、正規表現への切り替えがさらに高速になる場合があります(glibcだけでなく、PCRE、ここにリストされているライブラリなど、さまざまなライブラリがあります)。
正規表現のパフォーマンスは、使用している正規表現とそれを適用しているデータに大きく依存します。一連の正規表現をベンチマークするだけではほとんど意味がありません。正規表現を使用した実際のコードと、実際のデータに対する実際のプレーン C の代替を比較する必要があります。
経験則として、必要なテキスト マッチングを行う適切に機能する手続き型コードが既にある場合は、そのままにしておくことをお勧めします。そのコードがまだない場合は、開発時間を大幅に節約できるので、正規表現から始めることをお勧めします (正規表現に精通していると仮定します)。おそらく、同等の正規表現よりも高速な手続き型コードを作成できますが、その違いは劇的ではありません。手続き型コードを作成して維持する労力は、正規表現を使用するよりも大幅に高くなります。