On 8 October 2013 01:06, Tim Shen wrote: > On Mon, Oct 7, 2013 at 7:11 PM, Jonathan Wakely <jwakely....@gmail.com> wrote: >> The version in your gist (which is *not* what your first patch did!) >> is faster for any size of _M_exists and any ratio of _M_states.size() >> / _M_exists.size(): > > Sorry for my original patch, I made a mistake! It's: > while (!_BaseT::empty()) > _BaseT::pop_back(); > but I truely meant: > while (!this->_M_empty()) > this->_M_pop(); > To make all trues reset.
Yes, that's what I was trying to say in my first mail :-) > In my machine the while loop is slower than assign() when the > _M_states.size() / _M_exists.size() is more than even 7/1000. so let's > keep the assign(), because the ratio in regex could probably be more > than 25%. OK, this latest patch looks good so please go ahead and commit it - thanks!