2006年7月24日
PHPのパフォーマンス
別にハードウェア増やせばいいんじゃないのぉと言われそうですが。。。
いやいや、こういうくだらないことも重要だろう、ということで。
PHPをソースからコンパイルするときに、GCCのコンパイルオプションを設定するときと、しないときの差ってどれくらいになるのか?
実験してみました。
使用したのは、AMD Opteron 246、メモリは不足しない程度のマシン。
コンパイルオプションとして設定したのは、以下のオプション。
GCCは3.4.5。
export CFLAGS="-O3 -msse -mmmx -msse2 -march=opteron -mfpmath=sse -funroll-loops"
PHPのオプションは --disable-all で、何もオプションを付けず。
その結果、わかったのは。。。。。
。。
。。
。。
ほとんど変わらん!!
2、3%くらいは速くなったかな。
浮動小数点のオプションを指定してるから、小数点の計算とかやってみたりしたのだけど、for文のループのみのときとパフォーマンスの差異はなし。
うーむ、2、3%でもよろこぶべきなのだろうか。。。
オプション指定するだけで、何の苦労もしてないのだから、喜ぶべきなのだろう!
勝手にそう思っておこう。
追記:
使用したのはこんな感じのスクリプト
for ($i = 0; $i < 100000; $i ++) {
$a = atan2(rand(1, 100000) / rand(1, 100000), 1);
}
$a = atan2(rand(1, 100000) / rand(1, 100000), 1);
}