PHPが複数環境で実行できるようになったので、速度を測定してみました。
マシンスペックは
マシン | Lenovo Thinkpad E460 |
---|---|
プロセッサ | Core i5-6200U @ 2.40GHz |
実装RAM | 16GB |
OS | Windows 10 Pro |
PHP | Version 7.1.5 |
PHPを実行する環境は
- Bash on Ubuntu on Windows
- Hyper-Vを利用したDocker for windows
- Win32バイナリ(64bit版)
です。
実行するスクリプトは1000万回、1?100の乱数を足していくだけの簡単なものです。
<?php $t = microtime(true); $s = 0; for ($i = 0; $i < 10000000; $i++) { $s += mt_rand(1,100); } echo $s."\n"; echo microtime(true) - $t; echo "\n";
結果
では、実際の実行時間を見てみましょう。
win32 | docker | BoW | |
---|---|---|---|
1回目 | 1.237401009 | 0.886856079 | 0.799245834 |
2回目 | 1.277527809 | 0.847378969 | 0.807887077 |
3回目 | 1.212148190 | 0.875045061 | 0.790209770 |
4回目 | 1.198606014 | 0.855423927 | 0.797501802 |
5回目 | 1.223088026 | 0.868628025 | 0.799794912 |
6回目 | 1.221951962 | 0.879342079 | 0.803989172 |
7回目 | 1.224758863 | 0.877321959 | 0.808245182 |
8回目 | 1.223860025 | 0.852982044 | 0.797448874 |
9回目 | 1.216402054 | 0.842140913 | 0.791653872 |
10回目 | 1.216935158 | 0.849244118 | 0.806570053 |
平均 | 1.225267911 | 0.863436317 | 0.800254655 |
ということで、Bash on Ubuntu on Windowsが一番速いという結果になりました。
これにApacheとかが乗ってくると、ちょっと変わると思いますけどね。
開発環境はBoWにしておきましょう。
ちなみに、DockerでPHP 5.6.30のイメージで試してみたところ、1.375秒程度でした。
PHP 7系は速くなってますね。