Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

eAcceleratorとAPCのパフォーマンス比較

id:koyhogeさんからのリクエスト(^^;で、比較してみました。
実行したコードは、以前Sebastian Bergmann氏がコンパイラとコンパイラオプションの違いによるパフォーマンス比較を行った際に使った(と言っている)コードで、cvs.php.netにあります。
テストした環境は以下の通りです。

今回の結果は次のような感じです。ちょっとグラフが見づらくてスミマセン。やはり「得手/不得手」があるみたいです。

以下、生データです。

none ea(optimize=0) ea(optimize=1) apc
simple 0.591 0.603 0.390 0.553
simplecall 1.475 1.675 1.417 1.467
simpleucall 2.600 2.709 2.106 2.293
simpleudcall 2.676 2.616 2.450 2.692
mandel 2.156 1.971 1.868 1.935
mandel2 3.649 3.187 2.964 3.087
ackermann(7) 3.980 2.869 2.971 2.782
ary(50000) 0.147 0.145 0.144 0.143
ary2(50000) 0.133 0.132 0.129 0.128
ary3(2000) 1.113 1.132 1.133 1.082
fibo(30) 7.706 7.779 7.629 7.119
hash1(50000) 0.275 0.278 0.255 0.263
hash2(500) 0.268 0.289 0.257 0.274
heapsort(20000) 0.808 0.747 0.682 0.705
matrix(20) 0.562 0.554 0.518 0.533
nestedloop(12) 1.093 1.017 0.723 0.976
sieve(30) 0.776 0.651 0.638 0.627
strcat(200000) 0.107 0.116 0.111 0.109
total 30.118 28.471 26.385 26.769

今回の結果からすると、

eAccelerator(optimize=1)> APC > eAccelerator(optimize=0)> なし

な感じでしたが、「環境や実行するコードによって変わる」ということを押さえた上で何かの参考になれば ;-)