Here’s how the combined and system times look like as compared to the standard STL allocator:
As you can see, for the value type sizes tested, the size-based approach show definite performance improvements over the standard STL allocator. It even outperforms glibc’s own malloc/free optimizations for mid-range value type sizes. Larger value type sizes perform less well compared to heap_pool, because the size-based approach adds additional bookkeeping to heap_pool allocations.
Most surprising, though, is that the size-based approach seems to outperform the standard STL allocator more, the larger value sizes grow. Given that the majority of optimizations are for smaller sizes, that’s a nice extra — but really a tribute to glibc’s malloc/free optimizations rather than fhtagn!’s own code base.