Down the rb_newobj() Rabbit Hole: Garbage Collection and a Glimpse into Ruby's Future

A session at EuRuKo 2013

Friday 28th June, 2013

4:00pm to 4:45pm (AMT)

Garbage collection is one of the pillars of Ruby's performance story, but getting into the inner workings of MRI's garbage collector is a bit hairy. If you want to explore the garbage collector then you're going to have to get your hands deep into C code. We're going to take a walk through the C internals from Foo.new through garbage collection in Ruby's MRI. We’ll examine the idioms and optimizations in the C source and leave you feeling comfortable to explore the code yourself. At the end of the rb_newobj() rabbit hole is a whole world of garbage collection. Major changes have been made in MRI's garbage collector from Ruby 1.8 through 2.0: changes intended to make Ruby more performant, changes that can capitalize on MRI's roots in UNIX. From mark-and-sweep to copy-on-write and bitmap marking, we'll see what the future of Ruby performance might look like by peering through the window of the garbage collector.

About the speaker

This person is speaking at this event.
Chris Kelly

Happiness Engineer, New Relic

Sign in to add slides, notes or videos to this session

EuRuKo 2013

Greece Greece, Athens

28th29th June 2013

Tell your friends!


Time 4:00pm4:45pm AMT

Date Fri 28th June 2013

Short URL


Official event site


View the schedule


See something wrong?

Report an issue with this session