Patchalloc is a C++ allocator that is very efficient when handling
many small memory requests (for example, from lists).
When deallocating, the memory is added to a memory pool
and will be recycled if memory of the same size is requested.
The source code is available here:
patchalloc.h
patchalloc.cpp
The allocator can be used by providing the patchalloc type to the container,
for example:
std::list<int, patch_allocator::patchalloc<int> >