HeapManager - My Old C Memory Allocator

July 01, 2007

A decade ago I wrote and sold a commercial C++/C memory allocator library for the pre-OSX Mac. I never made much money on it so I released it as open source and it became popular as an alternative to the compiler supplied allocators and SmartHeap.

I lost the source a long time ago but a former customer still had a copy so I managed to get a copy again today. It might not be worth anything anymore but it's always nice to keep an archive.

HeapManager Source

Note if you even care to look at it, the code is 7 years old and only supported Metroworks Codewarrior, which as far as I know no longer even exists as a Mac product (if it does it must be pretty marginal). People have ported this code to other OS's in the past; there is nothing all that platform-specific in the allocator itself. The debugging application is most definitely obsolete.

In all the years the allocator was in commercial use the runtime version had no reported bugs. The debugging version only had a couple minor ones. It's probably the best C++ code I ever wrote (and mostly the last since I do Java now). I managed to keep the code a bit faster than SmartHeap (my commercial competitor) when I was active. This code only supported single-threaded applications, and clearly SmartHeap has advanced a lot in the last 8 years or so; there is no valid comparison today.

Thanks to Florent.

EDIT: Found my old website at the wayback machine.