libualloc - microlib for special allocation sequences

This library is intended to supplement (and not replace) standard libc malloc by providing a modular set of allocators that can speed up and/or decrease memory footprint of algorithms that have a specific sequence of allocations.

Key features:


The malloc in the libc needs to be generic. It either tries to be simple but then it will have relatively high memory/CPU overhead. Or it tries to be smart and do different things "detecting" how the application is making allocations - but then it needs to be complex and at the end it may still fail to figure how to minimize overhead in a specific case. For a portable application it is also impossible to assume the libc will have a smart allocator.

But even if the specific libc under the application is smart, using a generic allocator which then tries to figure how to optimize allocation run-time is sort of thinking backwards. Instead, the applaction programmer may anticipate allocation pattern of specific parts of the code in advance and use an allocator algorithm that performs best for that pattern. Libualloc is a microlib offering a framework and a range of different allocators for that.

Typical examples where a custom allocator may reduce memory/CPU overhead:

License, author, contact

Documentation - ToC