[ruby-dev:38080] [Feature:trunk] nested loop construct 経由で、AO bench が流行っている(いた?)のを知ったので Smalltalk でも試してみました。
使用した処理系は Cincom Smalltalk (VisualWorks 7.6 非商用版) 、マシンは Modbook (MacBook改。2.4GHz Core 2 Duo, Vista SP1)で、結果は 65 sec でした。速度としてはまあまあの部類ですね。
Time millisecondsToRun: [AoBench render] "=> 64657 "
ファイルイン用ソースコード: AoBench.vw.st
ちなみに、オリジナルの Proce55ing の結果は 6 sec、Ruby1.9 では 270 sec でした。
$ ruby1.9 -v ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-cygwin] $ time ruby1.9 ao-render.rb > ao.ppm real 4m33.315s user 4m29.725s sys 0m0.576s
比較のため Squeak Smalltalk で試したところ 220 sec で Ruby1.9 より気持ち速いかなという印象。でも、プロの手でバリバリにチューンされた高性能 VM を持つエンプラ向けの Cincom Smalltalk での 65 sec と比べるとどうしても見劣りがしてしまいますね。^^; 高速化目指して開発中の Cog VM の登場が待たれます。
ファイルイン用ソースコード: AoBench.st