- Description about the talk
- Dynamic memory management is a complex and often controversial topic. There
are a wide variety of different algorithms and approaches that one can take
towards managing memory, both manually and automatically.
Some language implementations tend to pick their favourite approach early in
their development, like Pythons reference counting and Ruby's extended Mark
Sweep collector, and stick with it for the long term.
Others, like the JVM, aim to have a more configurable approach, with multiple
Garbage Collection algorithms that can be configured at runtime, or even
dynamically tuned by the VM during program execution.
What if we could have that for Ruby?
This talk is going to be an exploration of how we can support multiple GC
algorithms in Ruby. We'll talk about building a unified memory management API,
and explore our integration with MMTk, a research project to build a unified
memory management toolkit, with integrations into the JVM, v8, Julia, and now
Ruby.