Memory management malloc based allocation Traditional/modern memory allocation allows you to allocate arbitrary-sized blocks .. which works well for small applications but when you're allocating/deallocation memory at a few hundred blocks a second.. Allocators such as malloc are designed to be "good at most cases" which makes them not good at boundary cases like this All is not lost - instead of allocating arbitrary-sized blocks! how about creating a "list" of allocation sizes you use, and build an allocator which can do that?