• Intel
  • Microsoft
  • Google
  • Sun Microsystems
  • BT
  • IBM
  • Yahoo! Inc.
  • Zimbra
  • Atlassian Software Systems
  • Disney
  • EnterpriseDB
  • Etelos
  • Ingres
  • JasperSoft
  • Kablink
  • Linagora
  • MindTouch
  • Mozilla Corporation
  • Novell, Inc.
  • Open Invention Network
  • OpSource
  • RightScale
  • Silicon Mechanics
  • Tenth Planet
  • Ticketmaster
  • Voiceroute
  • White Oak Technologies, Inc.
  • XAware
  • ZDNet

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com.

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for more information on trade opportunities with O'Reilly conferences, or contact mediapartners@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

OSCON Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required).

Contact Us

View a complete list of OSCON 2008 Contacts

Who Wants a Faster Ruby?

Location: F151 Level: Intermediate
Average rating: *****
(5.00, 1 rating)

Ruby is an object-oriented programming language that is receiving a significant amount of interest, much of it based on the popularity of the Rails web application framework. For most of its life, Ruby has had a single usable implementation, dubbed MRI (Matz’s Ruby Implementation). The past year has seen notable progress on no less than four significant alternative implementations of Ruby, including one each from Sun and Microsoft.

At Ruby Conf 2006, Evan Phoenix announced a new Ruby implementation project named Rubinius. In this past year, Rubinius development has progressed at a phenomenal rate. The implementation is currently passing nearly 16,000 specification “expectations” based on the evolving set of RSpec-style executable specs. The Rubinius contributors have written the vast majority of these specs that attempt to capture the actual behavior of the MRI implementation.

Engine Yard is a San Francisco-based company that has been employing Pheonix since around June 2007. In December 2007, Engine Yard announced that it was hiring four additional developers to work full-time on Rubinius. In January 2008, Engine Yard reported that it had received VC funding through parter Benchmark Capital.

While all this may be interesting, the big question remains: Why attempt to build a new implementation of the Ruby language? One of the primary answers for this is that 1) Ruby performance needs serious improvement; and 2) the existing Ruby implementation is written in C and is not accessible to the vast majority of Ruby programmers for modification or extension.

Rubinius addresses these two concerns (and many others) by basing the architecture of the virtual machine on over 30 years of R&D in Smalltalk and other dynamic languages. The vast majority of the Ruby core library is written in Ruby. The entire compiler chain is written in Ruby.

This talk will examine the performance of Rubinius compared to MRI (1.8.x, 1.9.x) and JRuby. So far, the reporting of performance gains in the new MRI implementation (1.9.x) has been mostly focused on a set of micro benchmarks. Ford will create a set of benchmarks that will attempt to capture characteristics of a more realistic application, and examine the performance characteristics of the Rubinius VM compared to MRI and JRuby, especially as it relates to execution hot spots. Finally, he will contrast the performance of Rubinius with a similar application written in Python.

The talk will detail the methodology used for devising and running the benchmarks. A basic, but quick introduction to benchmarking will be given. The DTrace utility will be used with the Apple version of Ruby on Mac OS X Leopard and with Rubinius. The use of DTrace and how it aided detecting hotspots will be described.

Photo of Brian Shirai

Brian Shirai

Rubinius, Inc

Brian has been programming with Ruby since BR (before-Rails), which means practically since the dark ages. He has worked with several companies doing web development with Rails. In December 2006 he began contributing to Rubinius, launching the effort to write executable specs for Ruby. He is now employed by Engine Yard to work full-time on Rubinius. In the 10 hours per week not spent on Rubinius, he’s probably snowboarding on beautiful Mt Hood. He also jots a random thought or two at blog.brightredglow.com.

OSCON 2008