Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3218: string_algo algorithms are quite slow in some popular compiler/OS/hardware situations
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-07-20 19:27:32
#3218: string_algo algorithms are quite slow in some popular compiler/OS/hardware
situations
------------------------------------------------------+---------------------
Reporter: Yuri Goldfeld <yuri_goldfeld@â¦> | Owner: pavol_droba
Type: Bugs | Status: new
Milestone: To Be Determined | Component: string_algo
Version: Boost 1.37.0 | Severity: Problem
Keywords: performance string_algo strings |
------------------------------------------------------+---------------------
Comment(by anonymous):
Replying to [comment:7 yuri_goldfeld@â¦]:
>
> Also, it seems that even with case-sensitive algorithms the performance
can be quite a bit worse than my dumber library (see results for
starts_with() and equals()).
Hello,
Tests showed that the bottleneck lies in the MS implementation of locales.
It is a possible problem, but I don't consider it critical. There are two
reasons for it:
1) The problem is not on the side of the library. Following the boost
spirit, the implementation is targeted for a generic C++ conforming
compiler. As such you can see that it performs rather well on GCC. It does
not try to workaround deficiencies in specific platforms/compilers like
MS. The effect of these might be counterproductive. Right now it the well
know library performs badly and show an obvious problem in the compiler,
the developments team might be more inclined to fix the issue. Otherwise
it would stay happy, not knowing that there's any problem at all. Let them
do their job ;)
2) Secondly, since the StringAlgo library is written in very generic way,
you can easily overcome this shortcoming by using your optimized is_iequal
predicate. The boost version is not hardwired in to algorithms. It is
merely provided as a generic default. All case-insensitive algorithms have
a generic variant that accepts an arbitrary character comparison
predicate. Please consult the documentation for the library to find out
the details.
Under these conditions I consider this issue to be resolved.
Best Regards,
Pavol
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3218#comment:9> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC