おうちでも速度比較

うちのPCでも同じものを動かしてみた。
DXRuby0.0.8の時間は約1秒となり、会社のPCと比べてかなり短い時間となった。
どういう切り口で見ても遅くなる部分など無いようなスペック差だから当たり前だ。
開発中の0.0.9にすると0.8秒ほどだ。
ライブラリの性能が出やすいベンチマークだから実ゲームでの向上率はそこまでいかないにしても、最適化の効果で確実に速くなっていることは確認できる。
ところが。
Ruby/SDLで同じものを実行すると1.5秒かかるようになってしまったのだ。
なんどやっても1.5秒。
うちのPC、どっかに致命的なボトルネックでもあるんだろうか。
あの遅いノートよりも重い部分が・・・?
Star Rubyをためしたら1.08秒。
SDLを使っているのにこっちは速くなっている。
使い方の違いがあるんかな?


さくっと動かしただけだが、この結果から言えることをいくつか。
まず、会社のノートPCは遅い。
Ruby/SDLを無視してDXRubyとStar Rubyの結果を元にすれば、Celeron1.8GHzはPentium4 2.4GHzと比べて1.6〜1.8倍は遅い。
DXRubyはCPUキャッシュの効果を活かした作りになっているから、L2キャッシュの少ないCeleronではStar Rubyと比較して性能減少率が高い。
そういうことでCeleron上では負けていたが、最新版では逆転するだろう。


それからRuby/SDLは速度的に不安定だ。
うちで実行すると全面的・圧倒的にStar Rubyのほうが速い。
SDLを使いたいならStar Rubyをオススメする。
透視座標変換したかったらStar Ruby一択だ。
なくてよくてDirectXでいいならDXRubyだ。よろしくね。