コード ベースで HipHop-PHP の互換性とパフォーマンスを評価していますが、組み込みの Web サーバーを有効にして実行すると、パフォーマンスが非常に低下します。
フィボナッチ数列を計算する次のサンプル テスト プログラムがあります。
ex3.php:
function fib($n)
{
if ($n <= 2)
return 1;
else
return fib($n-1) + fib($n-2);
}
$n = 36;
printf("fib(%d) = %d\n", $n, fib($n, 2));
コマンドラインを使用して HHVM でこれを実行すると、印象的な結果が得られます。
time hhvm -v"Eval.Jit=true" -f ./ex3.php
fib(36) = 14930352
real 0m0.267s
user 0m0.248s
sys 0m0.020s
これを標準の PHP と比較します。
root@hiphop:/www# time php -f ./ex3.php
fib(36) = 14930352
real 0m5.606s
user 0m5.600s
sys 0m0.000s
ただし、HHVM で組み込みの Web サーバーを有効にすると、すべてのパフォーマンスの向上が失われます。
hhvm -v"Eval.Jit=true" -m server -p 8000 &
time wget -qSO - http://localhost:8000/ex3.php
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
X-Powered-By: HPHP
Date: Sat, 27 Jul 2013 14:16:09 GMT
Content-Length: 19
fib(36) = 14930352
real 0m5.279s
user 0m0.000s
sys 0m0.000s
ご覧のとおり、HHVM から応答が返ってきていますが、この要求を処理するのに 5 秒以上かかります。私は何が欠けていますか?