Dimitar Kostov ramblings

Ruby VM Shootout

After releasing version 1.0 of Rubinius and JRuby hitting 1.5, I decided to test these great VMs against ruby 1.8.7 and the latest 1.9.2 to see how they perform. This benchmark uses Antonio Cangiano’s ruby-benchmark-suite. I’ve posted part of the results as image, you can find all results as pdf. Tested versions of ruby, using RVM


  • Rubinius 1.0.0 (1.8.7 release 2010-05-14 JI) [i686-pc-linux-gnu]
  • jruby 1.5.0 (ruby 1.8.7 patchlevel 249) (2010-05-12 6769999) [i386-java]
  • ruby 1.9.2dev (2010-05-20 revision 27928) [i686-linux]
  • ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]

My software:

  • Ubuntu 10.04 ( linux kernel 2.6.32-22 on i686)
  • Java VM - OpenJDK Client VM 1.6.9 18
  • File System - ext4

My hardware:

  • Intel Dual-Core T2080 @ 1.73GHz
  • RAM - 2x512MB

My comment: I don’t understand how VM works and how they are implemented, but looking at the results I can say that Rubinius and future 1.9.2 show real progress and great perspective. 

As a disclaimer I will quote Antonio Cangiano :
“Synthetic benchmarks cannot predict how fast your programs will be with one implementation or another. They provide an (entertaining) educated guess, but you shouldn’t draw overly definitive conclusions from them. Furthermore, the Ruby Benchmark Suite has many tests that don’t provide much insight when it comes to comparing implementations. They are there for legacy reasons and will probably be removed in the future. For the time being, take them with a grain of salt.”