The following are the main changes since the previous version:
- Improved Decommit on Windows
- Removed redundant system calls #120
- Implement lazy decommit strategy to take OS call back, so an application not performing allocation can release memory to the OS #128
- Bug Fix: Remove infinite loop on low-memory notification #123
- Improved performance of multiple fast and slow paths
- Improved sized deallocation code paths #115
- Remote deallocation code path separated into fast and slow path (increased perf considerable for producer/consumer workloads) #138
- Improve allocation slow path and change to thread local bump allocator #143
- Improved alignment code
- Support alignment of large allocations #124
- Efficient calculation of alignment requests (just two additional integer instructions on fast path) #113
- Support more platforms and tool chains
- Bug fixes based on mimalloc-bench
- Fixed poor performance in the message queue handling due to small batch size (#158 )
- Fixed leak of allocators during TLS teardown (#161)
- Fixed high page fault count from using MADV_DONTNEED for zeroing (#159)