計測用構文
すでに同様の内容に関して、たくさんの記事が書かれていますが、自分の備忘録のために残しておきます。
performance.php
$startTime = microtime(true);
$initialMemory = memory_get_usage();
// 何かの処理
$runningTime = microtime(true) - $startTime;
$usedMemory = (memory_get_peak_usage() - $initialMemory) / (1024 * 1024);
dump('running time: ' . $runningTime . ' [s]'); // or var_dump()
dump('used memory: ' . $usedMemory . ' [MB]'); // or var_dump()
この構文を計測対象のメソッド処理に書き足す。
注意事項
計測対象にデバッグ用のdump
処理など、画面への出力処理を加えている場合は計測時にコメントアウトしておきましょう。ファイルのI/Oを計測対象としている場合は別の話ですが、foreach
など純粋に処理時間のパフォーマンスを計測したい場合、計測対象に比べて入出力のコストが高いと上手く計測できているとは言えません。プロダクション用のコードまで削ぎ落とした状態で計測することをオススメします。