[RegEx] Performance degradation since 1.36

I've just downloaded boost 1.40, compiled the libraries, and re-compiled our application. Part of our application uses regular expressions extensively to search through source code and the performance appears to be up to 5 x slower in release mode than with the 1.36 libraries. Boost source (no modifications) compiled with Visual Studio 2008 on Win 7. (Note: 1.36 was compiled with VS 2008 on Win Vista.) bjam debug release --with-thread --with-regex --with-date_time link=static Regex creation: boost::regex::flag_type flags = boost::regex::perl | boost::regex::optimize | boost::regex::icase); boost::regex * pengine = new boost::regex(strSampleExpression, flags); .. Regex use: boost::regex_iterator<char const*> itMatch(pszStr, pszStr + nStrLen, *pengine); boost::regex_iterator<char const*> itEnd; if ( itMatch != itEnd ) { . } A simple for(int i=0;i<100000;++i) loop test shows huge differences. Any ideas why 1.40 is so much slower? Some change in default traits or some documentation note I've missed?
participants (1)
-
Dave Vest