4J-02
Ruby 用トレーシング実行時コンパイラの実装
○田中達也,松原俊一,Martin Duerst(青学大)
オブジェクト指向スクリプト言語 Ruby は使いやすさを重視した言語であるため, パフォーマンスが課題になっている.
そこで, Ruby の既存の処理系の高速化を目的として, 実行中に記録した命令の動的コンパイルを行うトレーシング実行時コンパイラを開発した.
実装したコンパイラは Ruby の仮想マシンと協調して動作し, Ruby が生成したバイトコードの内, 実行した部分の命令と引数を記録する.
そして, 繰り返し実行されている区画を検出し, LLVM コンパイラ基盤を用いて, 最適化後, 機械語に変換する.
また, ベンチマークを用いて実行時間を計測し, 評価を行う.