【PHP】 PHP5.4系とPHP7系のパフォーマンスを比較してみた
PHP5.4系とPHP7系のパフォーマンスを比較してみた
11月12日はPHP7のリリース日ですね(予定ですが) ということで、最新のRC版を入れて 今更感ありますが、簡単なパフォーマンステストをしてみました。
PHPのメジャーバージョンアップ自体が10年ぶりとなり 最近何かと話題になっています。しかも実行速度2倍以上になるとか。
さて、早速テストしてみましょう。対象はPHP5.4.42とPHP7.1.0です。
7.0.0RC6とかにしたかったんですが、簡単なパフォーマンステストだし、いっかと。
早速フィボナッチを使ってテストしてみました。
コードは以下の通り。
fibonacci.php
<?php function fib($n) { if ($n < 2) return $n; return fib($n - 2) + fib($n - 1); } $time_start = microtime(true); print fib(38); print "\n"; $time_end = microtime(true) - $time_start; echo $time_end . " seconds\n";
予想としては30秒くらいで返ってくるんじゃないかと思ったのですが、以外にも以下のような結果となりました。 ※過去に少しやった時バージョン忘れたのですが、そのくらいの結果だったので
[root@localhost ~]# php -v PHP 5.4.42 (cli) (built: Jun 12 2015 09:40:10) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
1st 39088169 17.16079211235 seconds 2nd 39088169 17.973091840744 seconds 3rd 39088169 17.841723203659 seconds 4th 39088169 19.280640125275 seconds 5th 39088169 17.899519920349 seconds
平均だと 18.02 seconds くらいでしょうか。
ではまったく同じ環境で、PHPを削除し、PHP7.1.0をインストールしてみました。 その状態で全く同じプログラムを動かしてみると。
[root@localhost ~]# php -v PHP 7.1.0-dev (cli) (built: Nov 4 2015 12:33:34) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.1.0-dev, Copyright (c) 1998-2015 Zend Technologies
1st 39088169 6.7832338809967 seconds 2nd 39088169 7.8204309940338 seconds 3rd 39088169 7.7650599479675 seconds 4th 39088169 8.2238001823425 seconds 5th 39088169 7.8330240249634 seconds
平均7.68秒!!!!
2.34倍も早い!
なんてこった・・・
ここまで違いが出るとは思わなかった・・・
PHP7をphalconとか乗せたら体感でもわかるくらい早くなりそうですね!
期待は高まる!
他の言語でも同様にやってみたいなぁと思いつつ。 今ある環境でさくっと試してみた結果でした。