私は、古い PHP スクリプトの改良モデルである PHP のプロジェクトに取り組んでいます。新しいモデルは CPU と RAM の使用効率が向上すると主張しました。評価のために、これらのプロセス中のRAMとCPUの使用量を見積もりたいと思います。ただし、コードは小さすぎます(正規表現)が、入力の負荷が高いと自己表示できると思います。
スクリプトの実行中に見積もりまたは CPU と RAM の使用量を計算する方法はありますか?
私は、古い PHP スクリプトの改良モデルである PHP のプロジェクトに取り組んでいます。新しいモデルは CPU と RAM の使用効率が向上すると主張しました。評価のために、これらのプロセス中のRAMとCPUの使用量を見積もりたいと思います。ただし、コードは小さすぎます(正規表現)が、入力の負荷が高いと自己表示できると思います。
スクリプトの実行中に見積もりまたは CPU と RAM の使用量を計算する方法はありますか?
CPU 使用率: コードの時間を計るだけ
$t_start = microtime(true);
useMyCode();
$t_end = microtime(true);
$total_time = $t_end - $t_start;
メモリ使用量: 「ティック関数」を使用して、少しの目安を得ることができます。
$max_mem = 0;
register_tick_function(function() {
global $max_mem;
$cur_mem = memory_get_usage();
if ($cur_mem > $max_mem) $max_mem = $cur_mem;
});
declare(ticks=1) {
useMyCode();
}
echo $max_mem;
CPU 使用率を最も正確に見積もるには、10000 回実行するだけです。ただし、メモリ使用量では機能しません。
xdebug profilerを使用することをお勧めします。これを使用すると、関数ごとでも正確にリソース使用量を知ることができ、それを見積もる必要はありません。
この拡張機能は、いわゆる cachegrind ファイルを作成します。これは、KCachegrind
またはWinCachgrind
ところで、php で最大メモリ使用量を取得したい場合は、これを最後の行に追加します。
echo sprintf("peak memory usage in bytes: %s\n", memory_get_peak_usage());