Past Meetup

Andrew Turley: Incremental Mature Garbage Collection Using the Train Algorithm

This Meetup is past

139 people went

Tumblr, Inc

35 East 21st St, FL 10, 10010 · New York, NY

How to find us

Tumblr's office is located between 5th Avenue and Park Avenue South on 21st Street. We're on the 10th Floor.

Location image of event venue


We're riveted to have Andrew Turley, lead software engineer on the platform team atTheLadders (, presentingIncremental Mature Garbage Collection Using the Train Algorithm ( by Jacob Seligmann & Steffen Grarup.


Automatic garbage collection has spared programmers from an entire class of programming errors related to memory leaks and attempting to access objects that were incorrectly freed. As programs have grown in size and complexity, so have the systems that manage garbage collection. Each algorithm makes a different set of tradeoffs between factors such as the space used by objects, the space used by bookkeeping, the number of unused objects (garbage) that remain uncollected, the time spent in allocation, and the time spent in

The Train Algorithm is an incremental generational garbage collector that was designed to deal with the long and unpredictable pause times caused by other algorithms. It does this by grouping objects together on "cars" in "trains". The algorithm provides a strategy for moving objects from the younger generation into different cars, moving objects from one car to another, and collecting cars and trains. It was first described by Hudson and Moss in the paper "Incremental
Collection of Mature Objects".

In their paper "Incremental Mature Garbage Collection Using the Train Algorithm (," Seligmann and Grarup describe what they believe is the first implementation of the Train Algorithm, which they used to replace the traditional mark-and-sweep collector that was used in the BETA programming language. They discuss their implementation and present information about the performance characteristics of the new algorithm as compared to the original.


Andrew Turley (@casio_juarez ( is a lead software engineer on the platform team at TheLadders (, where he builds infrastructure by linking Storm topologies together using RabbitMQ. He has also had numerous professional brushes with lower levels of the software stack, including building embedded systems for processing audio at DigiDesign, and helping to improve the performance of iOS at


TwoSigma ( - Platinum Sponsor of the New York chapter



Doors open at 7 pm; the presentation will begin at 7:30 pm; and, yes, there will be refreshments of all kinds and pizza.

After Andrew presents the paper, we will open up the floor to discussion and questions.

We hope that you'll read the paper before the meetup, but don't stress if you can't. If you have any questions, thoughts, or related information, please visit our *github-thread (* on the matter.

Additionally, if you have any papers you want to add to the repository above (papers that you love!), please send us a pull request ( Also, if you have any ideas/questions about this meetup or the Papers-We-Love org, just open up an issue.

January's meetup is sponsored by