We are ACORN!

プログラムやサーバーの設定など、技術的な記事を載せております。

PHP windows WSL プログラミング 環境

【PHP】WSL vs. Docker vs. Win32 環境別速度

投稿日:2019-01-31 更新日:

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系は速くなってますね。

-PHP, windows, WSL, プログラミング, 環境


comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

git diffとZipで納品用差分ファイルを作る

納品用に更新したファイルを送らなければならない時があります。 その時に活躍するのがgit diffです。 まず更新したファイル見たい場合は次のようにします。 git diff –name-only …

さくらのレンタルサーバーのメールをslackに通知する

今までメールを自分で作ったスクリプトで携帯に転送していたんですが、キャリアメールをやめたのでslackにメッセージを投げることにしました。 前提として、プランがスタンダードである必要があります。 何せ …

Google Bookmarksを利用するChrome拡張機能

暇なときにGoogle Bookmarksを利用するプラグインを作ってみました。 最低限のことしか出来ないのですが、自分で使う分にはこれで必要十分です。 Gブックマーク もしよろしかったら使ってみてく …

MarkDownDiagram

マークダウンで画面遷移図などのダイアグラムを作れるツールをブラウザベースで作ってくださった方がおられます。 大変重宝していて、業務で使いまくりです。 https://github.com/wakufa …

【qmail】携帯キャリアのメールに添付を削除して転送する

qmailでメールを携帯に転送して、メール通知に使っておられる方は結構多いんじゃないでしょうか。 ただ、大きなファイルが添付されていると、エラーメールが送信元に戻ってしまいます。 つまり、クライアント …