3

私は、古い PHP スクリプトの改良モデルである PHP のプロジェクトに取り組んでいます。新しいモデルは CPU と RAM の使用効率が向上すると主張しました。評価のために、これらのプロセス中のRAMとCPUの使用量を見積もりたいと思います。ただし、コードは小さすぎます(正規表現)が、入力の負荷が高いと自己表示できると思います。

スクリプトの実行中に見積もりまたは CPU と RAM の使用量を計算する方法はありますか?

4

2 に答える 2

3

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 回実行するだけです。ただし、メモリ使用量では機能しません。

于 2013-07-06T19:46:49.827 に答える
2

xdebug profilerを使用することをお勧めします。これを使用すると、関数ごとでも正確にリソース使用量を知ることができ、それを見積もる必要はありません。

この拡張機能は、いわゆる cachegrind ファイルを作成します。これは、KCachegrindまたはWinCachgrind

ところで、php で最大メモリ使用量を取得したい場合は、これを最後の行に追加します。

echo sprintf("peak memory usage in bytes: %s\n", memory_get_peak_usage());
于 2013-07-06T19:46:41.800 に答える