1 comment

[ 3.6 ms ] story [ 14.0 ms ] thread
From the github README:

snmalloc is a research allocator. Its key design features are:

- Memory that is freed by the same thread that allocated it does not require any synchronising operations.

- Freeing memory in a different thread to initially allocated it, does not take any locks and instead uses a novel message passing scheme to return the memory to the original allocator, where it is recycled.

- The allocator uses large ranges of pages to reduce the amount of meta-data required.

Details about snmalloc's design can be found in the accompanying paper[OP]. Differences between the paper and the current implementation are described here[0].

[0] https://github.com/microsoft/snmalloc/blob/master/difference...