We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

A People's History of the Ruby Garbage Collector

Formal Metadata

Title
A People's History of the Ruby Garbage Collector
Subtitle
Ruby GC from 1.8 until 2.4 and beyond!
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
C Ruby's garbage collector has come a long way since the good old days of Ruby1.8. We'll walk through over 20 years of GC history in the C Ruby runtime, andalong the way we'll talk about the key features that were added with each Rubyversion. We'll cover the 5 (!) different GC algorithms C Ruby has used since1.8, copy-on-write optimization, and possible optimizations for the future. Noprior knowledge of GC or the C Ruby runtime is required for this talk. By covering the long and varied history of Ruby GC, this talk ends up being ageneral introduction and discussion of concepts in garbage collection in high-level languages. We'll cover the 5 different algorithms Ruby has used, copy-on-write optimization, and how the Ruby C API has sometimes held back garbagecollection in the runtime. I'm aiming this talk at people who have neverthought about such topics before, but have a few years of Ruby experienceunder their belt. I have been debugging and writing about issues in Ruby memory usage for sometime now, and I think we could all benefit from plugging up this "leakyabstraction" in our Ruby knowledge.