Boost Pool Library provides a memory allocation scheme that is very fast (but limited in its usage)
Pools are generally used when there is a lot of allocation and deallocation of small objects.
boost::pool_allocator
is a more general-purpose solution, geared towards efficiently servicing requests for any number of contiguous chunks.boost::fast_pool_allocator
is also a general-purpose solution but is geared towards efficiently servicing requests for one chunk at a time; it will work for contiguous chunks, but not as well as pool_allocator
.
Further details: http://www.boost.org/doc/libs/1_58_0/libs/pool/doc/html/index.html