{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,11,5]],"date-time":"2026-11-05T02:41:01Z","timestamp":1793846461129,"version":"4.6.1"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030341749","type":"print"},{"value":"9783030341756","type":"electronic"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-34175-6_13","type":"book-chapter","created":{"date-parts":[[2019,11,17]],"date-time":"2019-11-17T19:01:29Z","timestamp":1574017289000},"page":"244-265","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":58,"title":["Mimalloc: Free List Sharding in Action"],"prefix":"10.1007","author":[{"given":"Daan","family":"Leijen","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Benjamin","family":"Zorn","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Leonardo","family":"de Moura","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2019,11,18]]},"reference":[{"key":"13_CR1","unstructured":"Aigner, M., Kirsch, C.M., Lippautz, M., Sokolova, A.: Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures. CoRR abs\/1503.09006 (2015). http:\/\/arxiv.org\/abs\/1503.09006"},{"key":"13_CR2","unstructured":"Amazon EC2. Cloud Instance Types (2019). https:\/\/aws.amazon.com\/ec2\/instance-types\/"},{"key":"13_CR3","doi-asserted-by":"publisher","first-page":"446","DOI":"10.1038\/324446a0","volume":"324","author":"J Barnes","year":"1986","unstructured":"Barnes, J., Hut, P.: A hierarchical O(N Log N) force-calculation algorithm. Nature 324, 446\u2013449 (1986). https:\/\/doi.org\/10.1038\/324446a0","journal-title":"Nature"},{"key":"13_CR4","doi-asserted-by":"publisher","unstructured":"Berger, E.D., McKinley, K.S., Blumofe, R.D., Wilson, P.R.: Hoard: a scalable memory allocator for multithreaded applications. In: Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IX, Cambridge, Massachusetts, USA, pp. 117\u2013128. ACM (2000). https:\/\/doi.org\/10.1145\/378993.379232","DOI":"10.1145\/378993.379232"},{"key":"13_CR5","doi-asserted-by":"publisher","unstructured":"Berger, E.D., Zorn, B.G.: DieHard: probabilistic memory safety for unsafe languages. In: Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2006, Ottawa, Ontario, Canada, pp. 158\u2013168 (2006). https:\/\/doi.org\/10.1145\/1133981.1134000","DOI":"10.1145\/1133981.1134000"},{"key":"13_CR6","doi-asserted-by":"crossref","unstructured":"Berger, E.D., Zorn, B.G., McKinley, K.S.: Reconsidering Custom Memory Allocation, vol. 37, no. 11. ACM (2002)","DOI":"10.1145\/583854.582421"},{"key":"13_CR7","unstructured":"Crundal, T.: Reducing Active-False Sharing in TCMalloc (2016). http:\/\/courses.cecs.anu.edu.au\/courses\/CSPROJECTS\/16S1\/Reports\/Timothy*Crundal*Report.pdf . CS16S1 project at the Australian National University"},{"key":"13_CR8","unstructured":"Evans, J.: Jemalloc. In: Proceedings of the 2006 BSDCan Conference, BSDCan 2006, Ottowa, CA, May 2006. http:\/\/people.freebsd.org\/~jasone\/jemalloc\/bsdcan2006\/jemalloc.pdf"},{"key":"13_CR9","doi-asserted-by":"publisher","unstructured":"Feng, Y., Berger, E.D.: A locality-improving dynamic memory allocator. In: Proceedings of the 2005 Workshop on Memory System Performance, Chicago, Illinois, USA, pp. 68\u201377, January 2005. https:\/\/doi.org\/10.1145\/1111583.1111594","DOI":"10.1145\/1111583.1111594"},{"key":"13_CR10","unstructured":"Google. Tcmalloc (2014). https:\/\/github.com\/gperftools\/gperftools."},{"issue":"6","key":"13_CR11","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/173262.155107","volume":"28","author":"D Grunwald","year":"1993","unstructured":"Grunwald, D., Zorn, B., Henderson, R.: Improving the cache locality of memory allocation. ACM SIGPLAN Not. 28(6), 177\u2013186 (1993). https:\/\/doi.org\/10.1145\/173262.155107","journal-title":"ACM SIGPLAN Not."},{"key":"13_CR12","doi-asserted-by":"crossref","unstructured":"Hudson, R.L., Saha, B., Adl-Tabatabai, A.R., Hertzberg, B.C.: McRT-Malloc: a scalable transactional memory allocator. In: Proceedings of the 5th International Symposium on Memory Management, pp. 74\u201383. ACM (2006)","DOI":"10.1145\/1133956.1133967"},{"key":"13_CR13","unstructured":"Intel. Thread Building Blocks (TBB) (2017). https:\/\/www.threadingbuildingblocks.org\/"},{"key":"13_CR14","unstructured":"Jansson, M.: Rpmalloc (2017). https:\/\/github.com\/rampantpixels\/rpmalloc"},{"issue":"4","key":"13_CR15","doi-asserted-by":"publisher","first-page":"309","DOI":"10.1535\/itj.1104.05","volume":"11","author":"A Kukanov","year":"2007","unstructured":"Kukanov, A., Voss, M.J.: The foundations for scalable multi-core software in Intel threading building blocks. Intel Technol. J. 11(4), 309\u2013322 (2007)","journal-title":"Intel Technol. J."},{"key":"13_CR16","doi-asserted-by":"publisher","unstructured":"Kuszmaul, B.C.: SuperMalloc: a super fast multithreaded malloc for 64-bit machines. In: Proceedings of the 2015 International Symposium on Memory Management, ISMM 2015, Portland, OR, USA, pp. 41\u201355. ACM (2015). https:\/\/doi.org\/10.1145\/2754169.2754178","DOI":"10.1145\/2754169.2754178"},{"key":"13_CR17","doi-asserted-by":"crossref","unstructured":"Larson, P.-\u00c5., Krishnan, M.: Memory allocation for long-running server applications. In: Proceedings of the 1998 International Symposium on Memory Management, ISMM 1998, pp. 176\u2013185 (1998)","DOI":"10.1145\/301589.286880"},{"key":"13_CR18","doi-asserted-by":"publisher","first-page":"100","DOI":"10.4204\/EPTCS.153.8","volume":"153","author":"Daan Leijen","year":"2014","unstructured":"Leijen, D.: Koka: programming with row polymorphic effect types. In: MSFP 2014, 5th Workshop on Mathematically Structured Functional Programming (2014). https:\/\/doi.org\/10.4204\/EPTCS.153.8","journal-title":"Electronic Proceedings in Theoretical Computer Science"},{"key":"13_CR19","doi-asserted-by":"publisher","unstructured":"Leijen, D.: Type directed compilation of row-typed algebraic effects. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017), Paris, France, pp. 486\u2013499, January 2017. https:\/\/doi.org\/10.1145\/3009837.3009872","DOI":"10.1145\/3009837.3009872"},{"key":"13_CR20","unstructured":"Leijen, D.: Mimalloc Repository, June 2019. https:\/\/github.com\/microsoft\/mimalloc"},{"key":"13_CR21","unstructured":"Leijen, D.: Mimalloc Benchmark Repository, June 2019. https:\/\/github.com\/daanx\/mimalloc-bench"},{"key":"13_CR22","unstructured":"Lever, C., Boreham, D.: Malloc() performance in a multithreaded Linux environment. In: USENIX Annual Technical Conference, Freenix Session, San Diego, CA, June 2000. Malloc-test available from https:\/\/github.com\/kuszmaul\/SuperMalloc\/tree\/master\/tests"},{"key":"13_CR23","doi-asserted-by":"crossref","unstructured":"Li\u00e9tar, P., et al.: Snmalloc: a message passing allocator. In: Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management, pp. 122\u2013135. ACM (2019)","DOI":"10.1145\/3315573.3329980"},{"key":"13_CR24","unstructured":"Li\u00e9tar, P., et al.: Snmalloc: a message passing allocator. In: Proceedings of the 2019 International Symposium on Memory Management, ISMM 2019, Phoenix, AZ (2019). https:\/\/github.com\/Microsoft\/snmalloc"},{"key":"13_CR25","unstructured":"MicroQuill. SmartHeap (2006). http:\/\/www.microquill.com . sh6bench available at http:\/\/www.microquill.com\/smartheap\/shbench\/bench.zip . sh8benc available at http:\/\/www.microquill.com\/smartheap\/SH8BENCH.zip"},{"key":"13_CR26","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"378","DOI":"10.1007\/978-3-319-21401-6_26","volume-title":"Automated Deduction - CADE-25","author":"L Moura de","year":"2015","unstructured":"de Moura, L., Kong, S., Avigad, J., van Doorn, F., von Raumer, J.: The lean theorem prover (system description). In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 378\u2013388. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-21401-6_26"},{"key":"13_CR27","doi-asserted-by":"publisher","unstructured":"Novark, G., Berger, E.D.: DieHarder: securing the heap. In: Proceedings of the 17th ACM Conference on Computer and Communications Security, CCS 2010, Chicago, Illinois, USA, pp. 573\u2013584 (2010). https:\/\/doi.org\/10.1145\/1866307.1866371","DOI":"10.1145\/1866307.1866371"},{"key":"13_CR28","unstructured":"OLogN Technologies AG (ITHare.com). Testing Memory Allocators: ptmalloc2 vs Tcmalloc vs Hoard vs Jemalloc, While Trying to Simulate Real-World Loads, July 2018. http:\/\/ithare.com\/testing-memory-allocators-ptmalloc2-tcmalloc-hoard-jemalloc-while-trying-to-simulate-real-world-loads\/ . Test available at https:\/\/github.com\/node-dot-cpp\/alloc-test"},{"issue":"1","key":"13_CR29","first-page":"57","volume":"17","author":"MF Sanner","year":"1999","unstructured":"Sanner, M.F., et al.: Python: a programming language for software integration and development. J. Mol. Graph. Model. 17(1), 57\u201361 (1999)","journal-title":"J. Mol. Graph. Model."},{"key":"13_CR30","doi-asserted-by":"publisher","unstructured":"Schweizer, H., Besta, M., Hoefler, T.: Evaluating the cost of atomic operations on modern architectures. In: 2015 International Conference on Parallel Architecture and Compilation (PACT), pp. 445\u2013456, October 2015. https:\/\/doi.org\/10.1109\/PACT.2015.24","DOI":"10.1109\/PACT.2015.24"},{"key":"13_CR31","unstructured":"Sotirov, A.: Heap Feng Shui in JavaScript (2007). https:\/\/www.blackhat.com\/presentations\/bh-europe-07\/FSotirov\/Presentation\/bh-eu-07-sotirov-apr19.pdf . Blackhat Europe"},{"key":"13_CR32","doi-asserted-by":"crossref","unstructured":"Ullrich, S., de Moura, L.: Counting immutable beans - reference counting optimized for purely functional programming. In: Proceedings of the 31st Symposium on Implementation and Application of Functional Languages (IFL 2019), Singapore, September 2019","DOI":"10.1145\/3412932.3412935"},{"issue":"10","key":"13_CR33","doi-asserted-by":"publisher","first-page":"141","DOI":"10.1145\/51607.51619","volume":"23","author":"CB Weinstock","year":"1988","unstructured":"Weinstock, C.B., Wulf, W.A.: An efficient algorithm for heap storage allocation. ACM SIGPLAN Not. 23(10), 141\u2013148 (1988)","journal-title":"ACM SIGPLAN Not."},{"issue":"9","key":"13_CR34","doi-asserted-by":"publisher","first-page":"633","DOI":"10.1016\/j.parco.2011.05.005","volume":"37","author":"M Wilde","year":"2011","unstructured":"Wilde, M., Hategan, M., Wozniak, J.M., Clifford, B., Katz, D.S., Foster, I.: Swift: a language for distributed parallel scripting. Parallel Comput. 37(9), 633\u2013652 (2011)","journal-title":"Parallel Comput."}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-34175-6_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,5]],"date-time":"2022-10-05T17:15:50Z","timestamp":1664990150000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-34175-6_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030341749","9783030341756"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-34175-6_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"18 November 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Nusa Dua, Bali","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Indonesia","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"1 December 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 December 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2019","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}