JRuby 1.1b1 also contains a performance improving change that has been discussed for a long time: ObjectSpace is now disabled by default. ObjectSpace is a feature that allows to iterate over objects in the heap using Ruby code. This feature has been causing performance problems for JRuby for some time. To implement it on the JVM, every object needs to be tracked explicitly, which means adding a reference to separate list when an object is created.
It was always possible to turn off ObjectSpace with a command line option (
-O
), but it was turned on by default - with JRuby 1.1b1 it is off by default. ObjectSpace can still be turned on explicitly with the command line option +O
. In other news, the stable 1.0.x branch of JRuby has been updated with JRuby 1.0.2. As a bug fix release, it aims to retain compatibility with 1.0 and 1.0.1. Both JRuby 1.1b1 and 1.0.2 are now available for download at the JRuby website.