Reconsidering Garbage Collection in Julia: A Practitioner Report
summary
A third‑party heap interface for Julia is implemented and integrated with MMTk, enabling multiple GC plans (no‑GC, IMIX/EMIX non‑moving variants and sticky mark‑bits) to run in Julia; non‑moving collectors are straightforward and prototypes land by 2023, and the interface and non‑moving images are upstreamed. Moving collection is hard but achievable: initial transitive pinning works but pins too many objects, so the team adds conservative stack scanning and pins from about 11 runtime types and specific emitted-code sites to make copying GC practical by 2025.
AI-written summary · about
chapters (11)
- 0:00Julia GC challenges
- 1:04Rethinking Julia's GC
- 2:33Julia and its GC
- 3:35MMTk for GC experiments
- 4:59Non-moving GCs in Julia
- 7:52Moving GCs in Julia
- 11:49Enabling moving GC in Julia
- 15:27GC interface and future work
- 16:10Q&A: Concurrency and GC
- 16:53Q&A: Community acceptance
- 17:59Q&A: Portability
related talks
02h 00mIntroduction to Julia
01h 07mJulia Tutorial
01h 28mA Tour of Julia
05mPlatform-Agnostic Lightweight Deep Learning for Garbage Collection...
30mJulia for Modern Data Analysis
01h 56mIntro to Julia
01h 27mIntroduction to Julia for Scientific Computing and Data Science
15mHow can machine learning assist to improve JVM performance?
