Re: [Boost-bugs] [Boost C++ Libraries] #4220: Performance of erase in multi-index-container

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4220: Performance of erase in multi-index-container
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-05-17 17:56:06


#4220: Performance of erase in multi-index-container
-------------------------------+--------------------------------------------
  Reporter: Rohit Joshi | Owner: joaquin
      Type: Support Requests | Status: closed
 Milestone: Boost 1.43.0 | Component: multi_index
   Version: Boost 1.42.0 | Severity: Optimization
Resolution: invalid | Keywords:
-------------------------------+--------------------------------------------

Comment(by anonymous):

 Replying to [comment:7 joaquin]:
> Closing this report as a non-bug. Hashed indices aren't designed to work
 efficiently when there are *many* different equal elements.



 Thanks for your explanation. I just found that the performance for
 hashed_non_unique versus hashed_unique for 2nd index is the almost same
 except slight overhead of checking duplicate. The bottleneck was with
 boost::object_pool. I don't know internal implementation but it seem it is
 a list where it iterate through the list to find objects.

 To delete 10,000 objects from object_pool:0.480829439

 To delete 20,000 objects from object_pool:5.37241036

 To delete 30,000 objects from object_pool:21.4259488218

 I think we need to create a bug for boost::object_pool.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4220#comment:8>
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:03 UTC