BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

JRuby: 1.0.3 addresses compatibility issues, 1.1 performance update

| by Werner Schuster Follow 3 Followers on Dec 20, 2007. Estimated reading time: 2 minutes |
JRuby 1.0.3 was made available, another release of the stable JRuby 1.0.x branch. Among fixed bugs, this release fixes some problems with Rails 2.0, which were caused by Rails 2.0 now requiring OpenSSL.

Nick Sieger, JRuby team member, reports another change in JRuby 1.0.3:
Normally a 1.0.3 release would not be all that exciting, but during this cycle, trunk’s internal API (upon which several JRuby extensions depend) started to diverge. Unfortunately, this forced us to face a decision: either fork and maintain two versions of every extension (one for 1.0.x and one for 1.1 and beyond), or break backwards compatibility. We ended up choosing the latter, prefering a single schism to parallel version hell.
In light of this, Nick continues with a useful table showing which Ruby libraries and Gems work with which JRuby version:
  1.0 - 1.0.2, 1.1b1 1.0.3, 1.1b2
Library  
rubygems <= 0.9.4 <= 0.9.4, = 1.0 *
rails <= 1.2.6,
>= 2.0.x †
any
activerecord-jdbc <= 0.6 >= 0.7
jruby-openssl <= 0.0.5 >= 0.1
goldspike 1.3 1.4
mongrel any ‡ 1.1.2

Notice that Rails 2.0 works with all versions, albeit on JRuby versions on the left hand side of the table (1.0 - 1.0.2, 1.1b1), jruby-openssl <= 0.5 needs to be installed.

In JRuby 1.1 news, the work spent on improving the Regular Expression support and performance seems to be paying off. Tim Bray shows run times for a utility written in Ruby, run under different Ruby versions. The last two lines (excerpted here) show a very recent performance improvement in JRuby 1.1 (lower values are better):

Elapsed User System
JRuby 1.1b 62.5 63.4 1.3
JRuby trunk 43.5 44.5 1.0

The JRuby trunk is a checkout of the source from 17th December 2007, whereas the JRuby 1.1b was released a few weeks ago. The considerable difference is explained by JRuby's Charles Nutter in a comment on Tim's article:
The improvement between JRuby 1.1b1 and trunk is almost entirely due to Marcin Mielczynski's amazing port of Oniguruma to the JVM. For the first time we have a real byte[]-based regex engine, which means JRuby regex performance just got a huge boost.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT