Get the Flash Player to see this player.


Ruby Heavy-Lifting

Ilya Grigorik

Other formats

Ruby is great for scripting, what about the heavy-lifting? In this talk we’ll disassemble the lessons learned at AideRSS, and how we’ve optimized our Ruby infrastructure to handle millions of RSS feeds on a daily basis – building a spider, processing content, and optimizing process coordination and communication. “Green Threads” and global interpreter lock (GIL) impose a lot of performance constraints on every developer using Ruby 1.8. We’ll explore the limitations of the MRI, the dreaded global interpreter lock (GIL), and look at the existing and upcoming alternatives – Ruby 1.9 concurrency model (Fibers and Actors) & JRuby threading. In similar fashion, we’ll walk through architectural patterns which can help us alleviate these problems: asynchronous and event driven processing, lazy data loading and processing, and common optimization paths for improving performance (ranging from syntactic optimizations, to writing custom C extensions). You don’t have to leave the comfort of your Ruby shell to build a high performance system!


Videos are in h.264 quicktime format. We recommend Miro for viewing these files.

Back to Conference Schedule

Presenters retain full rights to the content of their presentations, and have released them under the Creative Commons Attribution-ShareAlike license.