Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Garbage? Garbage? GAAAAAARRRBAAAAGGEEEE

Garbage? Garbage? GAAAAAARRRBAAAAGGEEEE

A brief talk about Garbage Collection and the implications of the new RGenGC proposal.

Michael Bernstein

May 03, 2013
Tweet

More Decks by Michael Bernstein

Other Decks in Technology

Transcript

  1. ( )

  2. Ruby’s Current GC • Mark And Sweep • Conservative •

    Bitmap Marking • Non-Recursive Marking • No Moving • Favors C Extensions
  3. Now, this same Garbage Collector is what is preventing Ruby

    code from being as fast as it could be.
  4. “Despite the best efforts of Koichi and other contributors, Ruby

    Core's concern with backwards compatibility (particularly regarding the C Extension API) keeps MRI lagging more than a decade behind Ruby implementations like Rubinius and JRuby which already have precise, generational and incremental garbage collectors.” - Vincent Marti (@vmg) https://github.com/blog/1489-hey-judy-don-t-make-it-bad
  5. RGenGC Is... • An awesome, fearless hack • Likely to

    make some Ruby code run faster • Certain to not break compatibility with C extensions • Progress
  6. RGenGC Isn’t... • The answer to Ruby’s problems • Likely

    to make all Ruby code faster in the long run • Going to draw people to Ruby • Limitless Progress