BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

JRuby総まとめ: 1.4 の特徴、JRubyConfの日程、MLVM

| 作者: Werner Schuster フォローする 3 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2009年9月30日. 推定読書時間: 1分未満 |

原文(投稿日:■)へのリンク

JRuby 1.4の最初のリリース候補版がそろそろ発表される。新バージョンはどうなっているのかまとめておこう。

JRubyチームのメンバであるNick Sieger氏は JRuby 1.4の特徴を概観している。ここで氏は、YAMLに対するサポートやRuby 1.9 に対するサポートを改善したことは後回しにして、Ruby 1.8.7に対するサポートを継続して行っていることを述べている。

JRuby 1.4はデフォルトではRuby バージョン 1.8.7に対応する。1.8.7に対するサポートはほぼ完了しているが、Charles Nutter氏は、1.9.x系と1.8.7系で加えられた外部イテレータがなぜ重くなってしまい、最適化が困難な理由を説明している

Ruby 1.8.7ではEnumeratorを使って"次"へ進むことができるようになりました。一見すると、これはよいことのように思えます。単なる外部イテレータですから。しかし、問題はこの列挙の仕方が柔軟すぎて複雑になりやすいということです。[..]
Ruby 1.8.7とRuby 1.9では、[外部イテレータは] 継続(限定継続、すなわち Fibers と coroutine)を使って実装されています。これが原因でコレクションを"次"へと進めるのがひどく遅くなっています。JRubyでは、要素を列挙するためには進行中の#eachを一時的にとめなければならないので、Enumerator#nextは*新しいネイティブのスレッド*を作る必要があります。なので、#nextをコールする毎に、新しい処理結果をスレッドに問い合わせることになります。

速度改善策が見つかるかどうかはわからない。

JRuby 1.4 ではJava統合も改善されているようだ。Java統合によって、Javaのクラスのオーバーロードされたメソッドを、Rubyのコードからより簡単に(いくつかの場合、可能であれば)呼び出せるようなっている。JRuby 1.4 では、型の強制やjava_sendのような新しいメソッドについて改善がされているようだ。java_send (GitHubがjava_sendにコミットしている)を使えば、特定のメソッドのシグネチャを引数にしてそのメソッドを呼び出すことができる。
とはいえ、1.4に盛り込まれる特徴はまだ流動的だ。Java統合のどの部分が見直されるのかもまだわかっていない。

将来のバージョンのJVM では動的言語の速度改善がされるようだ。初めてのJRubyとMLVMのバンドルは、新たな動的特性を備えたもので、現在利用可能になっている

最後の話題だが、初めてのJRubyConfの発表の直後、JRubyConfは予約でいっぱいになったようだ。しかし、EngineYardは、JRubyConfの最後のプログラムについて発表を行うと同時に追加のチケットを手に入れることについても書いている。

最後ですが、決して最小ではないお知らせです。新しいスポンサーが見つかり、Embassy Suitesに魔法が降り掛かった結果、なんとか大きな会場に移動できることになりました。予定していた人数の倍の数の人が参加できそうです。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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