mimalloc
{{Short description|Microsoft open source library}}
{{Lowercase title}}
{{Infobox software
| name = mimalloc
| logo = Mimalloc logo.svg
| logo size = 64px
| screenshot =
| screenshot size =
| caption =
| author = Daan Leijen /
Microsoft Research
| developer = Microsoft
| released = {{Start date and age|2019|07}}
| latest release version = {{wikidata|property|reference|edit| Q97304160 |P348|P548=Q2804309}}
| latest release date = {{wikidata|qualifier|preferred|single|Q8038|P348|P548=Q2804309|P577}}
| repo = {{URL|https://github.com/microsoft/mimalloc}}
| programming language = C
| operating system = Windows, FreeBSD, NetBSD, DragonFly BSD, macOS, Linux
| genre = Software library
| license = MIT License
| website = {{URL|https://microsoft.github.io/mimalloc/}}
}}
mimalloc (pronounced "me-malloc") is a free and open-source compact general-purpose memory allocator developed by Microsoft{{Cite web|url=https://indico.cern.ch/event/841307/contributions/3537668/attachments/1895742/3127538/weeks1-6_CERN.pdf|title=Maruf Ali: Investigation of Memory Allocators}} 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{{Cite web|url=https://slashdot.org/firehose.pl?op=view&id=110928452|title=Microsoft releases optimized malloc() as open source - Slashdot|website=slashdot.org}} and requires no additional code changes.{{Cite web|url=https://developpaper.com/analysis-of-mimalloc/|title=Analysis of mimalloc|date=September 11, 2019|website=Develop Paper}}{{dead link|date=March 2025}} 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, and 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.{{Cite web|url=https://translate.google.com/translate?hl=&sl=ja&tl=en&u=https://news.mynavi.jp/article/20190625-847906/|title=Google Translate|website=translate.google.com|date=25 June 2019}} The source code is licensed under MIT License and available on GitHub.{{Cite web|url=https://github.com/microsoft/mimalloc|title=microsoft/mimalloc|date=July 5, 2020|via=GitHub}}
See also
{{Portal|Free and open-source software}}
- {{annotated link|C dynamic memory allocation}}
- {{annotated link|Manual memory management}}
- {{annotated link|Dynamic memory allocation}}
- {{annotated link|Hoard memory allocator}}
References
{{Reflist}}
Further reading
- {{Cite book|last1=Leijen|first1=Daan|last2=Zorn|first2=Benjamin|last3=De Moura|first3=Leonardo|title=Mimalloc: Free List Sharding in Action|url=https://www.microsoft.com/en-us/research/uploads/prod/2019/06/mimalloc-tr-v1.pdf|isbn=978-3-030-34174-9|doi=10.1007/978-3-030-34175-6_13|year=2019|s2cid=198363081 }}
External links
- [https://github.com/microsoft/mimalloc GitHub - microsoft/mimalloc]
- [https://ayende.com/blog/187969-B/reviewing-mimalloc-part-i Reviewing mimalloc: Part I - Ayende @ Rahien]
- [https://ayende.com/blog/188001-C/reviewing-mimalloc-part-ii Reviewing mimalloc: Part II - Ayende @ Rahien]
{{Memory management}}
{{Microsoft FOSS}}
{{Microsoft Research}}
Category:Free and open-source software
Category:Memory management software
Category:Microsoft development tools
Category:Microsoft free software
Category:Software using the MIT license
{{Microsoft-software-stub}}