Re: [Boost-bugs] [Boost C++ Libraries] #6324: Flyweight performance improvement

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6324: Flyweight performance improvement
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-02-01 06:23:31


#6324: Flyweight performance improvement
-------------------------------------------------------+--------------------
  Reporter: Koh Ohnishi <k_onishi@…> | Owner: joaquin
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: multi_index
   Version: Boost 1.48.0 | Severity: Problem
Resolution: | Keywords: flyweight, multi_index, hashed_unique, performance
-------------------------------------------------------+--------------------

Comment (by k_onishi@…):

 Thanks for your comment.

 I understood the design policy of Boost.Flyweight.
 But I think you can avoid exception by catch clause in erase method of the
 factory.
 Once you catch the exception, then erasing by iterator.

 I had adapted set_factory and improve performance by using erase(key) in
 the erase of the factory before posting this ticket. To solve whole
 problem completely, I modified multi_index/hashed_index.hpp as well as
 using set_factory of flyweight.

 I think these problems always stem from iterator manipulation of
 multi_index (and unordered). Does anyone have any idea of work around in
 multi_index.hashed_index performance issues?

 My problem is, or I am worried about, the bad reputation of boost library.
 Some commercial projects are using boost::flyweight and
 boost::multi_index::hashed_unique expecting O(1) inserting, erasing, and
 finding entry, but we had faced on the performance problem of erasing both
 flyweight and multi_index at late test phase.

 Users cannot imagine erasing of hashed container is time-consuming.
 Documentation (tell us which method has performance issue) or work around
 or customization (like set_factory) may help my problems.

 Thanks,

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6324#comment:2>
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:08 UTC