PHPでお手軽にベンチマークを取るためのツール BenchMarker を書いた
PerlにはBenchmark.pmというお手軽にベンチマークを取るためのライブラリがあって,これがまあ便利なわけです.
そこで,深い事情により最近書いているPHPにもこういうツールがあると便利だろうなーってことで書いたのがこのBenchMarkerになります.
moznion/BenchMarker · GitHub
moznion/benchmarker - Packagist
ノリと勢いでPackagistにもアップロードしましたのでお手軽にご利用いただけます.
使い方ですが,cmpThese()
を例に取ると,
<?php $code = function () use ($foo) { // do something }; $benchmarker = new \Moznion\Benchmarker(); $benchmarker->cmpThese(10000, [ "code A" => function () { // do something }, "code B" => $code, // callableな変数も渡せる ]);
という風に,無名関数を渡してやると,
Rate code A code B code A 22571/s -- -49% code B 44656/s 98% --
という感じで,各々のコードを10000回試行した比較結果がわかりやすい出力されて便利!!! という勢いです.
ほぼほぼPerlのBenchmark.pmからパクってきたので,知ってる人ならサクッと使えるのではないかという感じです.
詳しくはBenchMarkerのドキュメントかBenchmark.pmのドキュメントなんかを参照してくださいませ.