マツドサイエンティスト・研究日誌 保存版
紅玉

初出:2009年02月22日 元々のブログ・コンテンツへのリンク
カテゴリーのインデックス: パソコン・インターネット
シリーズのインデックス: Linux

紅玉と言ってもリンゴじゃなくて、宝石のルビーのほう。まあ、更に、それから名前を取ったプログラム言語の事だけどね。
前回のコンテンツ は、Ubuntu 8.04 標準の Ruby 1.8.6 を使ってプログラムの性能を測ったのだが、1月末に Ruby の新バージョン 1.9.1 がリリースされていたので、試してみた。以下、全て Ubuntu 8.04 での作業記録だが、Ubuntu 8.10 でも同様に使えるだろう。

まずは、インスト。
Ruby 1.9.1 インストの前に、Synaptic で build-essential をインストールしておく。
オブジェクト指向スクリプト言語 Ruby から、ruby-1.9.1-p0.tar.bz2 をダウンロード

$ cd /tmp
$ tar jxvf ruby-1.9.1-p0.tar.bz2
$ cd ruby-1.9.1-p0/
$ ./configure
$ make
$ sudo make install
$ sudo mv /usr/local/bin/ruby /usr/local/bin/ruby1.9
$ sudo ln -s /usr/bin/ruby /usr/local/bin/ruby


最後の二行は、Ruby 1.8.6 と同居するためのオマジナイ。これで、コマンドラインから「$ ruby」とすると Ruby 1.8.6 で、「$ ruby1.9」とすると Ruby 1.9.1 になる。Ruby 1.9.1 は、未だ ruby-kde4 とか ruby-gnome2 とかに対応していないからね。

前回と同じく デュアルコア対応プログラミング の testDualCore03.rb を使って、パフォーマンスを測定した。ただ、そのままだと Ruby 1.9.1 では正常動作しないので、少し書き換えた: testDualCore05.rb
・Atom Z520 Ubuntu 8.04 ruby 1.8.6
 ・シングルコア用プログラム 159.1秒 デュアルコア用プログラム 122.4秒
・Athlon64 X2 4200+ (2.2GHz) Ubuntu 8.04 ruby 1.8.6
 ・シングルコア用プログラム 55.2秒 デュアルコア用プログラム 28.2秒
・Atom Z520 Ubuntu 8.04 ruby 1.9.1
 ・シングルコア用プログラム 61.0秒 デュアルコア用プログラム 45.9秒
・Athlon64 X2 4200+ (2.2GHz) Ubuntu 8.04 ruby 1.9.1
 ・シングルコア用プログラム 22.3秒 デュアルコア用プログラム 11.9秒

Ruby 1.9.1 は吃驚するほど速い!
ただ、 デュアルコア対応プログラミング の testDualCore01.rb は、またも全く効果がなかった。 デュアルコア対応プログラミング にも書いたけど、ruby の 1.8.x では、ネイティブ・スレッドに対応していなかったのが、Ruby 1.9.1 なら対応してパフォーマンスが向上すると期待したんだけどねえ。

まあ、速いから良いか。
inserted by FC2 system