2012-05-01 15 views
1

私はブーストを使用しています::正規表現を(++ c)において、文字列の区切り文字を見つけて、存在する場合、別のものと交換する:ブースト::正規表現のパフォーマンスの問題

const boost::regex esc(delimiter); 
const std::string rep = "\\\\" + delimiter; 

dest += boost::regex_replace(str, esc, rep, 
      boost::match_default | boost::format_sed); 

しかし、ブーストを使用する::正規表現私はパフォーマンス(約50%)が大幅に低下しています。

誰でも知っていますか?これは分かっている問題ですか?

+10

パフォーマンスが50%低下しました。 – mfontanini

答えて

0

私たちは最近、自分自身のステートマシンベースのパターンマッチングルーチンをロールバックしました。これは、regexが遅いと分かっていました。それは役に立ちますか?