YARVのアーキテクチャ(未踏プロジェクト成果報告会における笹田耕一氏の講演より)
YARVのアーキテクチャ(未踏プロジェクト成果報告会における笹田耕一氏の講演より)
[画像のクリックで拡大表示]
Ruby1.9での1.8と比較した性能向上(未踏プロジェクト成果報告会における笹田耕一氏の講演より)
Ruby1.9での1.8と比較した性能向上(未踏プロジェクト成果報告会における笹田耕一氏の講演より)
[画像のクリックで拡大表示]
しまねOSS協議会はRuby 1.9のリリースを目前にまともと氏や笹田氏を迎えて島根オープンソースサロンを松江オープンソースラボで開催した
しまねOSS協議会はRuby 1.9のリリースを目前にまともと氏や笹田氏を迎えて島根オープンソースサロンを松江オープンソースラボで開催した
[画像のクリックで拡大表示]

 まつもとゆきひろ氏は12月25日深夜,Rubyの4年ぶりの新版となる1.9.0を正式リリースした。1.9では笹田耕一氏が開発したRuby仮想マシンYARVを標準の実行環境として採用し,ベンチマーク性能で2倍から10倍と大幅に高速化した。

 1.8までのRubyでは,プログラムを構文木と呼ぶ形式に変換して実行していた。東京大学大学院情報理工学研究科特任助手の笹田氏が開発したYARV(Yet Another Ruby VM)では,バイトコードと呼ぶ中間言語に変換して,VM(仮想マシン)であるYARV上で実行する,Javaと同じアーキテクチャとなる。YARVはIPA(独立行政法人情報処理推進機構)の未踏ソフトウェア創造事業に採択され,開発が行われている(関連記事「5倍以上の高速化を達成したRuby1.9が年内に登場,未踏プロジェクト成果報告会で最新状況が明らかに」)。

 YARVにより,Ruby自体の実行性能はコア性能で最大50倍,ベンチマークで2倍から10倍と大幅に高速化された。ただし,C言語で記述されたライブラリなどの実行速度は変わらないため,アプリケーション全体では10倍速くなるわけではない。

 またRuby 1.9では多言語化が行われ,マルチバイト文字も1文字としてカウントされる。

 ただし,1.8と1.9では,多数の細かな非互換性がある。ブロックパラメータや文字列の扱いなどだ。そのため,今後も当面,1.8系列のRubyは安定版として継続して保守される。

 Ruby 1.9.0は以下のftpサイトなどからダウンロードできる。

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.bz2

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.gz

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.zip

◎関連資料
Ruby 1.9.0 リリース!(Ruby公式サイト)
Ruby 1.9を語る(まつもとゆきひろ氏)