BT

実用域に達したJRuby 9K

| 作者: Manuel Pais フォローする 9 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年10月2日. 推定読書時間: 2 分 |

原文(投稿日:2013/09/23)へのリンク

Barucoカンファレンスで行われた講演の中で,JRuby開発リーダのひとりであるCharles Nutter氏は,バージョン9000(9K)を2014年中(第2四半期以降)にリリースすると発表した。Ruby MRI 2.0相当の機能セットが目標だが,可能ならば2.1も対象にするという。さらに氏は,Java仮想マシン(JVM)用のRubyインプリメンテーションの背景となったモチベーションについての見解を披露すると同時に,JRubyの実用性に関しても言及している。

JRuby 9KはJava 7でのみ動作する。開発チーム (その一部はRed Hatがサポートしている) としては,Ruby MRIとロードマップを一致させて行きたいと考えている。不自然なバージョン名は,本来ならば1.8あるいは2.0になるはずだったのだが,Ruby MRIのバージョンとの混乱を回避したいと開発チームが考えたことから,9000という名称を用いることになったものだ。

機能的に同等であることに加え,ガベージコレクションやパフォーマンスなどの面でJVM環境のメリットを活かせることで,JRuby 9Kは,プロダクションシステムへの採用において強力な選択肢となるだろう,と氏は述べている。氏の実施したベンチマークではJava 7上で動作するJRubyが,レスポンス時間の面でRuby MRI 1.8よりもわずかに優れたパフォーマンスを示している。メモリ使用量が200MBに達したときのガベージコレクション時間においては,Ruby MRI 2.0を大幅に凌駕する。下のチャートは氏が実施した別のベンチマークからのもので,赤黒木(red/black tree)アルゴリズムをさまざまなRubyインプリメンテーション上で実行した結果を示している:

MRIと差別化するためのトレンディングトピックのもうひとつは,マルチコアを活用した高度な並行性である。氏はJRubyを使って真のマルチスレッド実行を試してみるように勧める一方で,マルチスレッドをサポートする完成度の高いツールがRubyのエコシステムに必要だ,とも警告している。とは言っても,スレッドプールや調停処理,コア構造体の並列読み込み/書き込み,あるいは次例の非アトミックな更新処理のように,安全でない操作を回避する方法としては,thread_safe, Hamster, atomic, あるいはjoなどのライブラリがすでに存在する:

@count += 1
@cache ||= MyCache.new

その他,JVM上に構築するメリットとして氏が言及したのは,可搬性と可用性 (厳密に管理された開発環境を持つ組織であっても) についてだった。さらにJavaやScala,Clojureといった言語のライブラリのエコシステムがJRubyからは直接的コール可能である,という点も忘れてはならない。

Vicent Martí氏やChris Kelly氏など,Brancoカンファレンスでの他の講演者たちも,MRIの代替としてJRubyやRubiniusを支持すると表明して,カンファレンス参加者の開発への寄付を呼びかけていた。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT