Skip to content

Instantly share code, notes, and snippets.

@headius
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save headius/d20f35c17a11d9971856 to your computer and use it in GitHub Desktop.
Save headius/d20f35c17a11d9971856 to your computer and use it in GitHub Desktop.
JRuby 9000

The complete version of this post is available on the JRuby blog.

(JRuby is an implementation of the Ruby programming language atop the Java virtual machine, bringing true parallelism, increased performance, and world-class GC to the Ruby world.)

JRuby 9000 is the ninth major release of JRuby. We opted to go with 9000 as a code name and 9.0.0.0 as a version number to separate it from Ruby's version numbers (1.8, 1.9, 2.0 etc).

JRuby 9000 represents years of work by dozens of contributors. It is the single largest JRuby release we've ever done.

  • Compatibility is now up to Ruby 2.2 specification, a leap forward from JRuby 1.7's compatibility with Ruby 1.9.3. This includes all language and syntax features and many updates to core libraries.
  • The execution runtime has been completely rewritten over the past five years, enabling anyone who has taken a college compilers course to contribute help improve JRuby performance.
  • Several subsystems, like IO and process management, now use the same native functionality as the C-based version of Ruby. This greatly improves compatibility with standard POSIX and UNIX behavior.
  • Although this first release is not intended to be significantly faster than JRuby 1.7, we've already received reports of improved performance. Upcoming releases will leverage our new compiler to increase performance further.
  • Java 7 is now the minimum Java version.

JRuby 9000's final release comes after two previews and two release candidates. We expect it to be stable for all users and recommend upgrading, but we welcome bug reports. We will plan to do several maintenance releases over the coming months to address new issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment