~/talk

Memory management with MMTk: lessons learned from replacing Ruby's garbage collector

Talkat linux.conf.au 2022 · 2022-01-14..01-16· [ruby]
links:none on file
slides:none on file

Integrates the Rust-ported MMTk into MRI by building a MMTk binding that replaces Ruby’s allocator calls, starting with a deliberately simple no-GC prototype that initializes MMTk metadata and disables Ruby’s collector. Demo runs Rails successfully, but memory grows monotonically because the prototype never reclaims memory. Identifies real-world gotchas (VM finalizers and fflush behavior), lists next steps: implement MMTk’s mark-sweep API then immix, and provides a porting guide and tests — no fair performance numbers yet.

AI-written summary · about

  1. 0:00Introduction
  2. 1:51Ruby’s GC overview
  3. 10:04Problems with mark-sweep
  4. 15:59Why GC innovation is hard
  5. 17:46What is MMTk
  6. 21:15Integrating MMTk into Ruby
  7. 27:36Challenges in no-GC integration
  8. 28:59Live demo: Ruby on Rails with MMTk
  9. 31:26Results and future plans
  10. 33:50Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.