Corei7 860な開発環境が手に入ったので、PHPの実行速度を簡単に測定してみました。正直、ベンチマークとしてはシンプル過ぎるのですが、なんとなく雰囲気はつかめると思います。
以下の2項目の経過時間を測定しました
・100万回ループ
・100万回関数呼び出し
実際に使ったコード
< ?php $times = 1000000; //loop 1,000,000 times echo "Loop: $times "; for($j = 0; $j < 10; $j++){ $t = microtime(true); for($i = 0; $i < $times; $i++){ // no operation } printf('%.1fms %.2fM/s ', (microtime(true) - $t) * 1000, $times / (microtime(true) - $t) / 1000000); } echo ' '; //function call 1,000,000 times echo "Function call: $times "; for($j = 0; $j < 10; $j++){ $t = microtime(true); for($i = 0; $i < $times; $i++){ test(); } printf('%.1fms %.2fM/s ', (microtime(true) - $t) * 1000, $times / (microtime(true) - $t) / 1000000); } echo ' '; function test(){ return; }
測定結果
Corei7 860 (2.8GHz/3.46HGz) WindowsXP |
Loop: 1000000 68.9ms 14.51M/s 68.0ms 14.70M/s 69.8ms 14.33M/s 69.3ms 14.43M/s 68.1ms 14.68M/s 69.0ms 14.49M/s 68.5ms 14.60M/s 67.9ms 14.72M/s 67.5ms 14.81M/s 69.2ms 14.46M/s |
Function call: 1000000 257.7ms 3.88M/s 257.6ms 3.88M/s 259.5ms 3.85M/s 259.2ms 3.86M/s 258.2ms 3.87M/s 257.1ms 3.89M/s 259.6ms 3.85M/s 258.0ms 3.88M/s 258.6ms 3.87M/s 258.3ms 3.87M/s |
Intel Core2Duo (1.2GHz) WindowsXP |
Loop: 1000000 136.4ms 7.33M/s 137.2ms 7.29M/s 140.6ms 7.11M/s 135.7ms 7.37M/s 133.8ms 7.47M/s 137.9ms 7.25M/s 132.3ms 7.56M/s 127.4ms 7.85M/s 125.0ms 8.00M/s 128.1ms 7.81M/s |
Function call: 1000000 458.2ms 2.18M/s 450.9ms 2.22M/s 477.5ms 2.09M/s 480.5ms 2.08M/s 451.4ms 2.22M/s 463.0ms 2.16M/s 465.3ms 2.15M/s 483.7ms 2.07M/s 462.5ms 2.16M/s 469.8ms 2.13M/s |
Intel Celeron processor SU2300 (1.2GHz) Windows7 |
Loop: 1000000 190.1ms 5.26M/s 183.3ms 5.46M/s 194.0ms 5.15M/s 164.1ms 6.09M/s 162.9ms 6.14M/s 156.4ms 6.40M/s 150.7ms 6.64M/s 169.5ms 5.90M/s 149.5ms 6.69M/s 173.2ms 5.77M/s |
Function call: 1000000 565.4ms 1.77M/s 540.9ms 1.85M/s 579.3ms 1.73M/s 578.0ms 1.73M/s 579.2ms 1.73M/s 580.0ms 1.72M/s 535.4ms 1.87M/s 504.7ms 1.98M/s 517.5ms 1.93M/s 505.8ms 1.98M/s |
このベンチマークだと、Core2Duo 1.2GHzと比べて2倍弱の性能しかでないんですね。Corei7 860の動作周波数は2.8GHz~3.46GHz(TB時)と、比較対象用のPCの2倍以上あるのですが、性能は意外と伸びていないようです。Corei7の拡張命令を使ったり、マルチスレッドを生かせるアプリケーションであれば遥かに大きな差がつくとは思うのですけどね。
結論: Corei7 860(2.8-3.46GHz) の性能はCore2Duo 1.2GHzの2倍!