Fascinating Ruby Implementations Shootout!

by Curt Hibbs

Antonio Cangiano has provided a fascinating glimpse into the current state of the many VM implementations of Ruby. He has run a sizable set of benchmarks against seven different Ruby implementations:

  • Ruby 1.8.5 on Linux

  • Ruby 1.8.5 on Windows

  • Ruby 1.9 (Yarv/Rite) on Linux

  • JRuby on Linux

  • Gardens Point Ruby.NET on Windows

  • Rubinius on Linux

  • Cardinal on Linux

The graph above shows the averages and median scores, but the details are just as interesting. I also completely agree with Antonio's caveats:

  • Don't read too much into this and don't draw any final conclusions. Each of these exciting projects have their own reason for being, as well as different pros and cons, which are not considered in this post. They each have a different level of stability and completeness. Furthermore, some of them haven't been optimized for speed yet. Take this post for what it is: an interesting experiment;

  • The results may entirely change in the next 3, 6, 12 months... I'll be back!

  • The scope of the benchmarks is limited because they can't stress every single feature of each implementation. It's just a sensible set of benchmarks that give us a general idea of where we are in terms of speed;

  • These tests were run on my machine, your mileage may vary;