Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::pool
From: Stefan Strasser (strasser_at_[hidden])
Date: 2009-11-03 10:07:26


Am Tuesday 03 November 2009 07:17:18 schrieb frank:
> On Tuesday 03 November 2009 05:45:48 Stefan Strasser wrote:
> > Am Tuesday 03 November 2009 04:08:14 schrieb Diederick C. Niehorster:
> > I actually considered that, but while recreating the functionality of
> > Boost.Pool is pretty easy, given that Boost.Intrusive now exists, a
> > generic pool allocation library is some effort.
> > some things that come to mind is multiple allocation algorithms to meet
> > different time complexity and memory overhead needs, pools that allow
> > allocation of different-sized objects, maybe even a generic "allocation
> > algorithm" library that is not limited to chunks of memory, but can be
> > used for disk space and other arbitrary ranges, like allocating IDs.
>
> I recently tried to use the std::allocator drop-in replacement from
> Boost.Pool in a massively multithreaded program running on a machine with a
> lot of cores. The result was very disappointing.

as is expected. you might want to look into using thread specific pools, that
only synchronize when a new pool block is allocated.

>
> A nice feature for Boost.Pool would be the ability to scale in
> multithreaded environments (like for example the tbb::scaleable_allocator
> from the Intel Threading Building Blocks).

if we could put together a team for Pool2 I'd certainly take part in it, but
it is too much effort for one person, considering that you can write
something like that for your own needs, in a non-generic way, in a few
hundred lines.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net