BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JRuby 1.7.0がリリース: Ruby 1.9モードがデフォルトに。 InvokeDynamicが使える。

JRuby 1.7.0がリリース: Ruby 1.9モードがデフォルトに。 InvokeDynamicが使える。

原文(投稿日:2012/10/25)へのリンク

 

最初のプレビューリリース (InfoQの記事を参照) から5ヶ月で、後で2つ目のプレビューリリースとなる、JRuby 1.7.0 の最終バージョンがリリースされた。

JRuby 1.7の最も際立つ変更は、Ruby 1.9.3がデフォルトのランタイムモードであるが、まだ1.8.7をサポートすることである。多くの1.9非互換性が修正されたが、 Ruby 1.9の全てが完全にはサポートしていない。リリースノートからの引用:

我々は、Ripperのように、未だ1.9でサポートしていない部分があることを知っています。しかし、我々は、人々が JRuby を1.9モードで使って本番アプリをホストできる安定した所にいます。現時点で、当面の間、2,3週間毎に1.7.xのポイントリリースを公開する計画です。これらのポイントリリースは、ユーザー経験した、あらゆる報告された問題に対処します。そして未だ開発が終わっていない幾つかの抜けている1.9ライブラリもリリースします。

Java 5のサポートは落とされた。 Rubygems と Rakeがそれぞれ 1.8.24 と 0.9.2.2にアップデートされた。

JRubyの1.7では、Java 7のinvokedynamicのを利用しているが、最初のプレビューリリースとは違って、それはデフォルトでオフになっている。JRuby wikiにその理由を説明している。

OpenJDK 7 の現在のリリースバージョンは、時々エラーになるし、コードを最適化するのに失敗する。一貫したJRuby経験を提供するために、Java7では invokedynamicの使用をデフォルトでオフにした。

エラーやパフォーマンスの低下に陥らないアプリケーションの場合は、invokedynamicは、最高のパフォーマンスのためにお勧めする。 それは、強制的にJRuby(またはJRUBY_OPTSで)に-Xcompile.invokedynamic=trueを渡すことによって、またはJVMレベルでjruby.compile.invokedynamic = trueプロパティを設定することにより有効にすることができます。

JVMのJava 8ビルドでは、invokedynamicはデフォルトで有効になっている。

あなたは、 invokedynamicを有効にして、 JRuby 1.7を試しましたか? あなたのアプリケーションでどのくらいパフォーマンスが改善しましたか?

 

この記事に星をつける

おすすめ度
スタイル

BT