2012-05-01 5 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); 

Но при использовании подталкивания :: regex У меня огромное снижение производительности (около 50%).

Кто-нибудь знает, почему? Является ли это проблемой?

+10

50% снижение производительности по сравнению с чем? – mfontanini

ответ

0

В последнее время мы свернули нашу собственную, основанную на штатах рутину соответствия шаблону, выяснив, что regex был медленным. Это помогает?

Смежные вопросы