Boost logo

Boost :

From: Pavol Droba (droba_at_[hidden])
Date: 2008-02-14 08:10:02


Hi,

Joe Gottman wrote:
> I just discovered that the string algorithm predicate is_any_of has an
> inefficient implementation. Internally it uses a std::set. There are
> two problems with this. First, since the order of the characters does
> not matter, std::unordered_set is probably faster.

TR1 was not available at the time this class was implemented. So
couldn't have used it. Thanks for suggestion.

> Second, the
> contained set has to be copied each time the object is used in, for
> instance, a split() statement. Since split can reuse a predicate
> literally thousands of times when splitting a large string, this is a
> lot of unnecessary copying.
>

I'm aware of this. I'm working on am optimization for passing functors
around the string_algo algorithms, but I'm not finished with it yet.
Once finished, the copying will be mostly eliminated.

Regards,
Pavol.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk