RubyのチームメンバーであるNick Sieger氏はJRuby 1.0.3におけるもう一つの変化を報告している(source)。
通常1.0.3リリースはそれほど興奮させられるものではないのですが、このサイクルの間trunkの内部のAPI(いくつかのJRuby拡張が依存している)が分岐し始めました。あいにくこれによって私達はある決断に迫られます。分岐してそれぞれの拡張の二つのバージョンを保持するか(一つは1.0x用 に、もう一つは1.1以上用に)、もしくは下位互換性を壊すかどちらにするかです。私達は分裂した後のバージョンアップ地獄がイヤだったので、結局後者を選びました。この点を踏まえてNick氏はRubyライブラリとGemsがJrubyバージョンと一緒に動作するのを示している実用的なテーブル使用しながら続けた。
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
テーブルの左側(1.0 - 1.0.2, 1.1b1)のJRubyのバージョンにも関わらずRails 2.0は全てのバージョンにおいて動作することに気付いてほしい。そしてjruby-openssl <= 0.5 がインストールされる必要がある。
JRuby 1.1ニュースの中でRegular Expressionサポートとパフォーマンスの向上のために成された努力(source)が報われたようにみえる。Tim Bray氏は異なるRubyバージョンの下で動作するRubyで書かれたユティリティ用のランタイムを表示した(source)。最後の2列(ここで抜粋されている)は、JRuby1.1で成されたごく最近のパフォーマンス向上を示している(低い値のほうがより良い)。
Elapsed User System JRuby 1.1b 62.5 63.4 1.3 JRuby trunk 43.5 44.5 1.0
JRuby 1.1bが2,3週間前のリリースであった一方、JRuby trunkは2007年12月17日のソースからのチェックアウトである。考えられる相違点はJRubyのCharles Nutter氏がTim氏の記事のコメント欄において解説している。
JRuby 1.1b1とtrunk間での向上は、ほとんど全体的にMarchin Meilczynski氏の驚くべきOnigurumaからJVMへのポートに起因している。一番最初として私達にはJRuby regexパフォーマンスが非常に向上したことを意味する実際的なバイトベースのregexエンジンがある。原文はこちらです:http://www.infoq.com/news/2007/12/jruby-103x-11trunk