I\'ve heard about people using custom memory allocators for their project, particulary in C++.
What is a custom memory allocator, compared to malloc?
A custom memory allocator is a replacement for malloc (actually, usually a replacement for operator new) that retrieves blocks of bytes in some fashion other than the default. malloc is not the lowest level you can go, because malloc itself is implemented in terms of even simpler primitives from the OS that allocate blocks of memory for partitioning.
Common use cases for making custom allocators are optimizing for allocations of small objects (the default allocator is usually really bad at this), allocating in a way that guarantees good locality (by allocating objects near one another), allocating with logging/tracking (to diagnose leaks), allocating from a garbage-collected resource pool, etc. There are a lot of different options available, and many programs can squeeze out a bit more performance using these custom allocators.