Software:Mimalloc: Difference between revisions
From HandWiki
simplify |
update |
||
| Line 18: | Line 18: | ||
| website = {{URL|https://microsoft.github.io/mimalloc/}} | | website = {{URL|https://microsoft.github.io/mimalloc/}} | ||
}} | }} | ||
'''mimalloc''' (pronounced "me-malloc") is a free and open-source compact general-purpose memory allocator developed by [[Company:Microsoft|Microsoft]]<ref>{{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}}</ref> 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]]<ref>{{Cite web|url=https://slashdot.org/firehose.pl?op=view&id=110928452|title=Microsoft releases optimized malloc() as open source - Slashdot|website=slashdot.org}}</ref> and requires no additional code changes.<ref>{{Cite web|url=https://developpaper.com/analysis-of-mimalloc/|title=Analysis of mimalloc|date=September 11, 2019|website=Develop Paper}} </ref> mimalloc was initially developed for the run-time systems of the [[Lean (proof assistant)|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''' (pronounced "me-malloc") is a free and open-source compact general-purpose memory allocator developed by [[Company:Microsoft|Microsoft]]<ref>{{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|access-date=2020-07-04|archive-date=2020-07-06|archive-url=https://web.archive.org/web/20200706011327/https://indico.cern.ch/event/841307/contributions/3537668/attachments/1895742/3127538/weeks1-6_CERN.pdf|url-status=live}}</ref> 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]]<ref>{{Cite web|url=https://slashdot.org/firehose.pl?op=view&id=110928452|title=Microsoft releases optimized malloc() as open source - Slashdot|website=slashdot.org|access-date=2020-07-04|archive-date=2023-06-14|archive-url=https://web.archive.org/web/20230614154744/https://slashdot.org/firehose.pl?op=view&id=110928452|url-status=dead}}</ref> and requires no additional code changes.<ref>{{Cite web|url=https://developpaper.com/analysis-of-mimalloc/|title=Analysis of mimalloc|date=September 11, 2019|website=Develop Paper|access-date=July 4, 2020|archive-date=July 23, 2022|archive-url=https://web.archive.org/web/20220723122404/https://developpaper.com/analysis-of-mimalloc/|url-status=dead}}</ref> mimalloc was initially developed for the run-time systems of the [[Lean (proof assistant)|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 [[Software:Microsoft Windows|Windows]], [[Software:Mac OS X|Mac OS X]], [[Software:Linux|Linux]] and *BSD.<ref>{{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}}</ref> The source code is licensed under [[Software:MIT License|MIT License]] and available on [[GitHub]].<ref>{{Cite web|url=https://github.com/microsoft/mimalloc|title=microsoft/mimalloc|date=July 5, 2020|via=GitHub}}</ref> | mimalloc is available on [[Software:Microsoft Windows|Windows]], [[Software:Mac OS X|Mac OS X]], [[Software:Linux|Linux]] and *BSD.<ref>{{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}}</ref> The source code is licensed under [[Software:MIT License|MIT License]] and available on [[GitHub]].<ref>{{Cite web|url=https://github.com/microsoft/mimalloc|title=microsoft/mimalloc|date=July 5, 2020|via=GitHub|access-date=July 4, 2020|archive-date=July 7, 2020|archive-url=https://web.archive.org/web/20200707091348/https://github.com/microsoft/mimalloc|url-status=live}}</ref> | ||
==See also== | ==See also== | ||
Latest revision as of 08:40, 12 April 2026
| Original author(s) | Daan Leijen / Microsoft Research |
|---|---|
| Developer(s) | Microsoft |
| Initial release | July 2019 |
| 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[1] 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[2] and requires no additional code changes.[3] 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.[4] The source code is licensed under MIT License and available on GitHub.[5]
See also
- C dynamic memory allocation – Dynamic memory management in the C programming language
- Manual memory management – Computer memory management methodology
- Dynamic memory allocation
- Software:Hoard memory allocator
References
- ↑ "Maruf Ali: Investigation of Memory Allocators". https://indico.cern.ch/event/841307/contributions/3537668/attachments/1895742/3127538/weeks1-6_CERN.pdf.
- ↑ "Microsoft releases optimized malloc() as open source - Slashdot". https://slashdot.org/firehose.pl?op=view&id=110928452.
- ↑ "Analysis of mimalloc". September 11, 2019. https://developpaper.com/analysis-of-mimalloc/.
- ↑ "Google Translate". 25 June 2019. https://translate.google.com/translate?hl=&sl=ja&tl=en&u=https://news.mynavi.jp/article/20190625-847906/.
- ↑ "microsoft/mimalloc". July 5, 2020. https://github.com/microsoft/mimalloc.
Further reading
- Leijen, Daan; Zorn, Benjamin; De Moura, Leonardo (2019). Mimalloc: Free List Sharding in Action. doi:10.1007/978-3-030-34175-6_13. ISBN 978-3-030-34174-9. https://www.microsoft.com/en-us/research/uploads/prod/2019/06/mimalloc-tr-v1.pdf.
External links
- GitHub - microsoft/mimalloc
- Reviewing mimalloc: Part I - Ayende @ Rahien
- Reviewing mimalloc: Part II - Ayende @ Rahien
