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].
1 comment
[ 3.6 ms ] story [ 14.0 ms ] threadsnmalloc 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...