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 language | English |
|---|---|
| Title of host publication | Proceedings of the 2025 ACM SIGPLAN International Symposium on Memory Management (ISMM '25) |
| Editors | Martin Maas, Tim Harris, Onur Mutlu |
| Place of Publication | Seoul, Republic of Korea |
| Publisher | Association for Computing Machinery (ACM) |
| Pages | 72-83 |
| Number of pages | 12 |
| ISBN (Electronic) | 9798400716102 |
| DOIs | |
| Publication status | Published - 13 Jun 2025 |
| Event | 24th ACM SIGPLAN International Symposium on Memory Management, ISMM 2025, Co-located with PLDI 2025 - Seoul, Korea, Republic of Duration: 17 Jun 2025 → 17 Jun 2025 Conference number: 24th https://dl.acm.org/doi/proceedings/10.1145/3735950 (Conference Proceedings) |
Publication series
| Name | International Symposium on Memory Management, ISMM |
|---|
Conference
| Conference | 24th ACM SIGPLAN International Symposium on Memory Management, ISMM 2025, Co-located with PLDI 2025 |
|---|---|
| Abbreviated title | ISMM '25 |
| Country/Territory | Korea, Republic of |
| City | Seoul |
| Period | 17/06/25 → 17/06/25 |
| Other | It 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 |
|