InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

JRuby: 1.0.3 addresses compatibility issues, 1.1 performance update

Posted by Werner Schuster on Dec 20, 2007

Sections
Development
Topics
Java ,
JRuby ,
Ruby on Rails ,
Ruby
Tags
SSL ,
Rails ,
JRuby
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.

No comments

Watch Thread Reply

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.