ゴツいPCをいぢった。
CPUが32個でメモリが256GB載っていた。*1
が、すげー速いかと思いきや、Javaで書かれたモンテカルロ法(サンプリング数10000個×回数20000回)で円周率を求めさせるプログラムを動かしてみると...
- ゴツいPC→145秒
- ありふれたノートPC→91秒
ガーン。全然速くないよ〜*2
ちなみに、ゴツいPCはItanium2の1.6GHz×32個らしい。ノートPCの方はMobile Celeronの2.0GHz×1個。
クロック差が1.25倍に対して、処理時間は1.6倍だからもうちょっとガンバって欲しいよ〜
しかも、ゴツいPCは某社謹製OS上の某社謹製JVM上に対して、ノートPCの方はWindowsXP(Pro)上のVMware上のLinux上のSun純正JVMだからなー
某社製JVMのチューニングがイマイチなんだろうか。せっかくIA64なのにJavaのdouble(8バイト)がアキュムレータに乗らないんだろうか。それとも、java.util.Randomがせっかくの64ビット環境を生かせないのだろうか。生かせてないってゆーか、むしろ遅いんですけど...
まあ、モチロン、ゴツいPCの場合、このベンチマークを同時に10個走らせても実行時間は変わらないのだけど。*3
どうやらこのベンチマークでCPU32個パワーを生かすには、ベンチマーク自身もマルチスレッドで書き直さなきゃ〜ダメみたい...*4
結局、PCの速さを語るにはインテルが突き進んできた「クロック命!」がやっぱり正しい気がする。しかしPen4も4GHz(たぶん)で頭打ち。そしてマルチコア路線へ。以前はPCを買い換える(組み直す)度にCPUが速くなったのを体感できたものだけど。最近は以前ほど劇的な高速化は体感できない(ので、物欲もたぎらない)。なんとなくさびしい。