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.

This entry was posted
on Thursday, March 26th, 2009 at 9:52 pm by unwesen and is filed under development, features.
You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.