Rubyの実行速度をJITで最大20倍に高めたRubinius 1.0がリリース
Engine Yardは、Rubyの実行環境であるRubinius 1.0の一般提供(General Availability)開始を6月9日付けで発表しました。
Rubiniusは、高速なRuby実行環境を目指してRubyとC++で開発されたもの。内部はバーチャルマシンになっており、LLVM(Low Level Virtual Machine)を用いて実行時にバイトコードをネイティブコードに変換するなどで最大20倍の高速な実行を実現していると説明されています。また、モダンなメモリ管理も実装し、大規模なアプリケーションでの使用メモリ量の減少も実現。
現在のRubiniusがターゲットにしているのはMRI 1.8.7(MRI、Matz's Ruby Interpreter)。既存のRubyとの互換性はRubySpecによると93%。RMIのRuby実装と同様のC-APIを備えているため、MRI用のCエクステンションもそのまま利用可能とのこと。
Rubiniusは、Ruby on RailsのPaaS環境を提供するEngine Yardが主なスポンサーとなってオープンソースで開発されています。Engine Yardは昨日の記事「Ruby on RailsのEngine YardをVMwareが買収か?」で伝えたように、VMwareによる買収の可能性が伝えられているベンチャー企業。
Rubyはこれまで、その実行速度の遅さが取り上げられたり、一方でRuby開発者のまつもと氏が「今や性能は大きな問題ではなくなっている」と発言するなど、しばしば実行速度については議論の的になってきました。
Rubyのオリジナル実装でもYARV(Yet Another Ruby VM)を取り入れるなどの高速化を図ってきましたが、PaaSのように開発者自身がRubyの実行環境を用意する必要のないあらかじめ用意されたRuby環境の中でRubinius 1.0が提供されるようになれば(そして互換性がより高まれば)、利用者はあまり実装の違いを意識することなく高速なRuby実行環境を簡単に享受できるようになり、そのよりよい環境がRubyの普及につながるのではないでしょうか。Engine YardがRubiniusに注力するのも、このことを狙ってのことではないかと思われます。