|
日本発のオブジェクト指向スクリプト言語Rubyはその使いやすさから多くのユーザを擁し、世界的に広く利用されている。しかし、現在のRuby処理系の実装は単純な構文木をたどるインタプリタであるため、その実行速度は遅い。これを解決するためにいくつかのバイトコード実行型仮想マシンが提案・開発されているが、たとえばRubyのサブセットしか実行できない、実行速度が十分ではない、などの問題がある。
本提案は、このような背景からRubyプログラムを正しく高速に実行する処理系を開発し、「Rubyって遅いよね」という悪評を打破することを目的とする。
開発は、まず Rubyプログラムを十分に表現可能で、効率的に実行できる命令セットの設計を行い、これに基づいて実行に必要な各種処理系を実装する。
本提案の具体的な開発項目を次に記す。
(a) Rubyプログラムを表現可能な命令セットの設計
(b) Rubyプログラムを (a) の命令セットへ変換するコンパイラの開発
(c) (a) の命令セットを効率的に実行する仮想機械の開発
(d) 実験的なJIT(Just In Time)コンパイラの開発(命令列→ネイティブコード変換)
(e) 実験的なAOT(Ahead Of Time)コンパイラの開発(命令列→C言語変換)
開発した処理系はオープンソースソフトウェアとして公開する。この処理系が世界中で利用されることを本提案の目標とする。
|