BT

Rubinius 2.0、Ruby 2.1を実装

| 作者: Mirko Stocker フォローする 0 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2013年10月16日. 推定読書時間: 3 分 |

原文(投稿日:2013/10/05)へのリンク

RubiniusチームがRubinius 2.0のリリースを発表した。最後にバージョン1.2.4(Ruby 1.8.7をサポート)がリリースされてから2年以上経つ。その後、Ruby 1.8は非サポートとなり、Ruby開発者は1.9から2.0へのアップデートを促されている。

Rubinius 2.0は次のRuby 2.1を完全にサポートする予定だ。そのリリース文によると、

2.0リリースで、Rubiniusは再びRubyの将来に焦点を合わせます。Rubinius 2.0はRuby 2.1との互換性を保つ予定です。MRIの2.1はまだリリースされていませんが、機能が完成するのに合わせて、Rubiniusは互換性を改善していきます。

今後、Rubiniusのリリースサイクルは大きく加速され、毎週新しいバージョンがリリースされる予定だ。

できるだけ迅速にアップデートをお届けするため、私たちはこのリリースプロセスに移行します。どんなにやるべきことがあろうとも、これで終わりということはありません。私たちはまだリリース準備ができていないように見えるかもしれません。きちんとリリースするのは苦痛です。そこで、私たちは次のアドバイスに従うことにします。「苦痛なことがあっても、苦痛を軽減するよう前に押し出そう」私たちのRuby 2.1互換性にはバグがあるでしょう。 [..]

目標は、Rubiniusコアにバージョン3.0からSemantic Versioningを付けることです。2.xから3.0までの期間、破壊的変更には細心の注意を払いますが、メリットがリスクを上回るときにはそれを取り込みます。

Rubinius 2.0では、マルチスレッドのサポートが大きく改善されている。Rubiniusはコンパイラが生成したバイトコードを実行するために仮想マシンを組み込んでおり、さらにそれを高速化するためにJITコンパイラも実装している(今のところは2-4倍の高速化だが、さらに加速する予定だ)。RubiniusはGIL (global interpreter lock) による制約がなく、ネイティブスレッドを実装しているため、Rubyコードは複数のコアとCPUを利用することができる。これはガベージコレクタにも恩恵があり、実行しているコードを部分的に並列に動かせる。RubiniusのBrian Shirai氏はこれに関して、Jesse Storimer氏によるインタビューで詳しく述べている。

この新しいリリースについて、InfoQはBrian氏と話す機会を得た。

InfoQ: Rubinius 2.0はまだ完成していないRuby 2.1との互換性を約束しています。Ruby 2.1のうちすでに実装されているのは何ですか?

私たちは2.1リリースに向けたMRIの開発を追いかけています。MRIチームは繰り返し、2.0と2.1の後方互換性を約束しています。私たちは大量の2.0 specをパスしています。これは基本的に、2.0の挙動は1.9からそれほど分かれいないことを意味しますが、挙動が変わっているものもたくさんあります。

要するに、私たちは2.1がリリースされたときに、できる限り2.1をサポートするつもりだということです。その間、あるいは深刻な競合がある場合には、2.1がリリースされるまで2.0の挙動を続けることになるでしょう。

InfoQ: Rubinius 2.0はWindowsをサポートしますか?

もちろん、Windowsサポートは私たちの要求リストにありますが、貧しいリソースをそれに割くほど切望されているのか、確認する必要があります。

InfoQ: 既存のアプリケーションやフレームワークはRubiniusでうまく動きますか? たとえば、Rails 4はRubiniusで動きますか? 

ご存じのように、Rails 4はRuby 2.0が望ましいと言っています。私たちはRails 4がRubiniusで動くことを期待しています。もし動かなければ、Rubiniusのバグでしょう(Railsにバグがあるかもしれませんが)。

Rubinius 2.0はrubini.usからダウンロードできる。使ってみてどうだったか、是非聞かせてほしい。

この記事に星をつける

おすすめ度
スタイル

こんにちは

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