Mimalloc
Original author(s) | Daan Leijen / Microsoft Research |
---|---|
Developer(s) | Microsoft |
Initial release | July 2019; 5 years ago (2019-07) |
Stable release | 2.1.7[1] / 5 May 2024 |
Repository | github |
Written in | C |
Operating system | Windows, FreeBSD, NetBSD, DragonFly BSD, macOS, Linux |
Type | Software library |
License | MIT License |
Website | microsoft |
mimalloc (pronounced "me-malloc") is a free and open-source compact general-purpose memory allocator developed by Microsoft[2] with focus on performance characteristics. The library is about 11000 lines of code and works as a drop-in replacement for malloc of the C standard library[3] and requires no additional code changes.[4] mimalloc was initially developed for the run-time systems of the Lean and Koka languages. Notable design aspects include free list sharding, eager page reset, first-class heaps. It can co-exist with other memory allocators linked to the same program. mimalloc is available on Windows, Mac OS X, Linux and *BSD.[5] The source code is licensed under MIT License and available on GitHub.[6]
See also
- C dynamic memory allocation
- Manual memory management
- Dynamic memory allocation
- Hoard memory allocator
References
- ^ "Release 2.1.7". 21 May 2024. Retrieved 23 May 2024.
- ^ "Maruf Ali: Investigation of Memory Allocators" (PDF).
- ^ "Microsoft releases optimized malloc() as open source - Slashdot". slashdot.org.
- ^ "Analysis of mimalloc". Develop Paper. September 11, 2019.
- ^ "Google Translate". translate.google.com. 25 June 2019.
- ^ "microsoft/mimalloc". July 5, 2020 – via GitHub.
Further reading
- Leijen, Daan; Zorn, Benjamin; De Moura, Leonardo (2019). Mimalloc: Free List Sharding in Action (PDF). doi:10.1007/978-3-030-34175-6_13. ISBN 978-3-030-34174-9. S2CID 198363081.
External links
- GitHub - microsoft/mimalloc
- Reviewing mimalloc: Part I - Ayende @ Rahien
- Reviewing mimalloc: Part II - Ayende @ Rahien
- v
- t
- e
- Memory management as a function of an operating system
- Memory management unit (MMU)
- Translation lookaside buffer (TLB)
- Input–output memory management unit (IOMMU)
- Static memory allocation
- C dynamic memory allocation
- new and delete (C++)
- Fragmentation
- Memory leak
- Unreachable memory
- Memory management
- Virtual memory
- Automatic memory management
- Memory management algorithms
- Memory management software
This article about software created, produced or developed by Microsoft is a stub. You can help Wikipedia by expanding it. |
- v
- t
- e