What is your favorite hand-rolled malloc?
scott_s: Mine: http://www.cs.vt.edu/~scschnei/streamflowWe allocated fixed size chunks of N objects, although we didn't have a smooth function for what the chunk size was. The inflection points where we changed our strategy were cache-line size and page size.Used/free record keeping was a simple table to map an address to the data structure for that address, and we re-used the free memory for an internal list.That's what we did to get good sequential performance - it was the multithreaded performance we were interested in. Aiming for good multithreaded performance influenced the data structure design to be simpler to reduce synchronization.Details are in the paper and source code.