Reconsidering Garbage Collection in Julia A Practitioner Report

Luis Eduardo de Souza Amorim*, Yi Lin, Stephen M. Blackburn, Diogo Netto, Gabriel Baraldi, Nathan Daly, Antony L. Hosking, Kiran Pamnany, Oscar Smith

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference Paperpeer-review

1 Citation (Scopus)

Abstract

Julia is a dynamically-typed garbage-collected language designed for high performance. Julia has a non-moving tracing collector, which, while performant, is subject to the same unavoidable fragmentation and lack of locality as all other non-moving collectors. In this work, we refactor the Julia runtime with the goal of supporting different garbage collectors, including copying collectors. Rather than integrate a specific collector implementation, we implement a third-party heap interface that allows Julia to work with various collectors, and use that to implement a series of increasingly more advanced designs. Our description of this process sheds light on Julia’s existing collector and the challenges of implementing copying garbage collection in a mature, high-performance runtime. We have successfully implemented a third-party heap interface for Julia and demonstrated its utility through integration with the MMTk garbage collection framework. We hope that this account of our multi-year effort will be useful both within the Julia community and the garbage collection research community, as well as providing insights and guidance for future language implementers on how to achieve high-performance garbage collection in a highly-tuned language runtime.

Original languageEnglish
Title of host publicationProceedings of the 2025 ACM SIGPLAN International Symposium on Memory Management (ISMM '25)
EditorsMartin Maas, Tim Harris, Onur Mutlu
Place of PublicationSeoul, Republic of Korea
PublisherAssociation for Computing Machinery (ACM)
Pages72-83
Number of pages12
ISBN (Electronic)9798400716102
DOIs
Publication statusPublished - 13 Jun 2025
Event24th ACM SIGPLAN International Symposium on Memory Management, ISMM 2025, Co-located with PLDI 2025 - Seoul, Korea, Republic of
Duration: 17 Jun 202517 Jun 2025
Conference number: 24th
https://dl.acm.org/doi/proceedings/10.1145/3735950 (Conference Proceedings)

Publication series

NameInternational Symposium on Memory Management, ISMM

Conference

Conference24th ACM SIGPLAN International Symposium on Memory Management, ISMM 2025, Co-located with PLDI 2025
Abbreviated titleISMM '25
Country/TerritoryKorea, Republic of
CitySeoul
Period17/06/2517/06/25
OtherIt is with great pleasure that we welcome you to the 2025 ACM SIGPLAN International Symposium on Memory Management (ISMM '25)! This is the 24th event in the ISMM series. Continuing the expanded scope from last year, we encouraged submissions and participation from related fields such as computer architecture and operating systems in addition to the programming languages community.
Internet address

Fingerprint

Dive into the research topics of 'Reconsidering Garbage Collection in Julia A Practitioner Report'. Together they form a unique fingerprint.

Cite this