PHP new generation のベンチマーク実行時間の計測
PHP new generation というのがアナウンスされていたので、試してみました。
php.internals: phpng:_Refactored_PHP_Engine_with_Big_Performance_I mprovement
ビルド、実行手順等は以下のウェブページに記載されています。
https://wiki.php.net/phpng
HHVM とも比較してみたかったので、HHVM の環境を構築済みの Ubuntu Server 13.10 にインストールしました。インストール手順は、ウェブページの記載のとおりで特に問題になることはありませんでした。私の環境では、以下のパッケージをインストールする必要がありましたが、いずれも apt-get で問題なく導入できました。
ビルドできたところで、ウェブページに記載されている Zend/bench.php を試してみました。計測対象とした処理系は以下のとおりです。
- PHP 5.5.3
$ php -v PHP 5.5.3-1ubuntu2.3 (cli) (built: Apr 4 2014 01:10:38) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
- PHP 5.7.0 (今回ビルドしたもの)
$ ~/tmp/usr/bin/php -v PHP 5.7.0-dev (cli) (built: May 4 2014 15:36:10) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.7.0-dev, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
- HHVM 3.0.1
$ hhvm --version HipHop VM 3.0.1 (rel) Compiler: tags/HHVM-3.0.1-0-g97c0ac06000e060376fdac4a7970e954e77900d6 Repo schema: a1146d49c5ba0d6db903beb3a4ed8a3766fef182
実行結果は以下のとおりでした。
追記 (2014-05-07)
Computer Language Benchmarks Game のベンチマークプログラムによる計測結果は以下のとおりでした*2。k-nucleotide が動かないのは、セマフォ関数がまだ実装されていないためです *3。pidigits が動かないのは、HHVM と同様に、GMP に対応していないためです。