Languages  >>  Ruby

Ruby Heavy-Lifting: Lazy load it, Event it, Defer it, and then Optimize it - Ilya Grigorik

Language: English Quality: High Has Audio: true Source: confreaks Media: Flash Posted On: 08 Feb 09

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!

About Ilya Grigorik
Ilya Grigorik is the founder and CTO of AideRSS, Inc. After narrowly escaping certain death beneath an avalanche of unread RSS feeds, he knew that something must be done to protect future generations from the menace of information overload, and voila – AideRSS was born. An avid Ruby and RoR blogger (for which he received the ‘Ruby Hero’ award at RailsConf ’08), and a tinkerer at heart, Ilya is often found researching or evangelizing the latest web-development practices, software architectures, and web standards in general.


Tags: Ruby, Conference, Screencast, rubyconf2008, rubyconf 2008, GIL, concurrency model, high performance, performance, optimizing,     [SUGGEST  A  TAG]



Other dowloadable format of this video

Video in h.264 Quicktime (mp4) format
Resolution : 640x240
OR 
Video in h.264 Quicktime (mp4) format
Resolution : 960x368
OR