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 }}