yarv-dev:256
From: SASADA Koichi <ko1 atdot.net>
Date: Fri, 15 Oct 2004 14:44:12 +0900
Subject: [yarv-dev:256] Re: Prosym paper
SASADA Koichi <ko1 atdot.net> wrote :
[ [yarv-dev:254] Prosym paper ]
at Fri, 15 Oct 2004 13:31:04 +0900
ささだです。
とりあえず、今回は単著でいこうかなぁ、と思ってます。
--
// SASADA Koichi at atdot dot net
//
[1] 発表題目
Rubyプログラムを高速に実行するための処理系の開発
[2] 発表者氏名(発表者全員)
笹田 耕一
[3] 発表者所属
東京農工大学大学院, 日本Rubyの会
[4] 概要(700字〜1000字程度)
オブジェクト指向スクリプト言語 Ruby はその利用のしやすさから世界的に広
く利用されている。しかし、現在の Ruby 処理系の実装は単純な構文木をたどる
インタプリタであるため、その実行速度は遅い。これを解決するためにいくつか
のバイトコード実行型仮想マシンが提案・開発されているが、Rubyのサブセット
しか実行できない、実行速度が十分ではない、などの問題があった。
この問題を解決するため、発表者は Ruby プログラムを高速に実行するための
処理系である YARV(Yet another Ruby VM)を開発している。本処理系開発にあ
たり、スタックマシンとして実装し、それを効率よく実行させるための各種最適
化手法を検討し実装している。通常の実行により現在のインタプリタの 2倍以上
高速な実行速度をめざし、Ruby の次期バージョンである 2.0 (Rite) に採用
されることを目標に開発を行っている。
本処理系開発にあたり、Ruby プログラムが十分に表現でき、かつこれを実行
する処理系が効率よく処理することのできる命令セットを新たに設計し、Ruby
プログラムをその命令セットの命令列に変換するためのコンパイラを実装した。
この命令を実行するための仮想機械は、設計した命令セットを効率よく実行する
ため、過去に提案されている最適化手法を検討し実装する。また、Just in time
コンパイラや Ahead of Time コンパイラの開発も目指す。
発表では、プログラミング言語 Ruby の、処理系実装者から見た特徴を述べ、
それを実装するための各種工夫と、最適化手法の取捨選択についての考察、およ
びその実装方法について述べる。また、本処理系開発の進捗状況と、その性能に
ついてのベンチマーク結果を示す。
なお、本プロジェクトは IPA 未踏ユースプロジェクトの支援による。
--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
254 2004-10-15 13:31 [ko1 atdot.net ] Prosym paper 255 2004-10-15 13:36 ┣[matz ruby-lang.org ] -> 256 2004-10-15 14:44 ┗[ko1 atdot.net ]