$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.