Mimalloc is a general purpose dynamic memory allocator for C and C++ designed to increase execution speed and reduce fragmentation. It functions as a scalable heap manager that replaces standard library allocation functions to improve performance and memory efficiency across applications.
The project distinguishes itself as both a heap security hardener and a memory corruption detector. It employs randomized allocation, encrypted free lists, and sampled guard pages to mitigate heap exploits and identify buffer overflows or use-after-free errors during runtime.
The allocator provides capabilities for isolated heap management, allowing the bulk destruction of related objects without individual deallocation. It also supports various allocator override techniques, including C++ operator overriding and executable binary patching, to inject the allocator into existing binaries without source code modification.
Additional features include memory usage monitoring, allocation trace analysis, and runtime tuning for memory purging and fragmentation management.