Subscribed unsubscribe Subscribe Subscribe

sci

最果て風呂

PHP は速くなっていました

月末でもデータ使用量に余裕があったので、Command Line Tools をアップデートしました(Sierra をダウンロードするには足りない(>_<))。毎回アップデートされていた PHP ですが、今回は 5.5.38 で前回と同じでした。その他の Python, Ruby, Perl 等もそのままのようです。そろそろ Sierra にしないと危ないですかね?

さて、聞くところによると PHP はバージョン 7 でめちゃくちゃ速くなったそうです。ちょっとした好奇心から 7 系を触ってみることにしました。PHPサイトから php-7.1.0.tar.xz をダウンロードしてビルドすることに。何も考えずいつものように ./configure を実行するとエラーが……。その度ごとに ./configure --help を見て対応していきます。結局、自分の環境では下記のオプションにより最後まで進むようになりました。

./configure --disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear

こんなに無効にしてまともに動くのかしら?たくさんの warning が出たものの、ビルドが完了しました。make test の結果は下記の通り。なんか失敗してるの多くないですか?まぁちょっと試したらすぐに消すつもりなのでいいでしょう。

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   54
Exts tested     :   20
---------------------------------------------------------------------

Number of tests : 15222              9677
Tests skipped   : 5545 ( 36.4%) --------
Tests warned    :    1 (  0.0%) (  0.0%)
Tests failed    :    2 (  0.0%) (  0.0%)
Expected fail   :   35 (  0.2%) (  0.4%)
Tests passed    : 9639 ( 63.3%) ( 99.6%)
---------------------------------------------------------------------
Time taken      :  322 seconds
=====================================================================

インストールはしたものの、特にやることが見つからない……。実はあまり PHP は好きじゃなかったりするのでした。そこで昔作成したスクリプトを再利用して、ベンチマークをしてみることにしました(前回の結果)。読み返してみると文句を言いつつも褒めてたりする自分でした。もう 9 ヶ月も経つのですね……。

それでは結果です。変換するテキストは「Yahoo!チャットって場所があったんだよ」にしました。138 行、16KB とお手頃なサイズですね。ちなみにオフトピですが、その頃の自分は CPU を i486 DX2 66MHz から K6-2 350MHz にしたあたりですかね。

計測は time コマンドを使い、5 回の平均をとりました。エディタ(部門w)ですが、バッファを開いた状態からコマンドを実行しています。

言語 sec
C 0.129
C++ 0.117
Go 0.252
ObjC 1.570
C# mono 0.171
SBCL 4.277
CCL 13.024
Nodejs 0.099
Lua 1.245
LuaJIT 0.945
Perl 0.093
Python3 0.079
PHP7 0.156
PHP5 0.440
Ruby 0.148
mruby 0.917
Gauche 3.091
Vim script 1.006
Emacs Lisp 0.170

f:id:nakinor:20161225201555j:plain

上位 10 ㌠ を抜き出してみます。こうしてみますと PHP 7 は 5 と比べて 3 倍近くも速くなっているようですね。すごい!

f:id:nakinor:20161225201616j:plain

実験が終了したらすぐに削除しようと思っていましたけれども、こうなると普段使いのスクリプト言語として使ってみたくなりますね。

Remove all ads