3

PHP で特定のコード ブロックのピーク時のメモリ使用量を取得することは可能ですか? 関数は、関数呼び出しのmemory_get_peak_usage()時点までのプロセス実行全体でピークを取得しているように見えますが、他のコードブロックが値を歪めた可能性があるため、これは私が取得しようとしているものではありません。プロセス全体ではなく、コード ブロック自体を分離しようとしています。

例:

// Block 1
for ($i = 0; $i < $iterations; ++$i) {
    // some code
}

// Block 2
for ($i = 0; $i < $iterations; ++$i) {
    // some different code
}

// Determine which of the two blocks used the most memory during their execution here

残念ながら、現時点では xdebug を使用することはできません。

4

2 に答える 2

-1

これを行う特定の関数はわかりませんが、コードのブロックを分離しようとしているだけの場合は、次のように簡単に実行できます。

$before = memory_get_peak_usage();
for ($i = 0; $i < $iterations; ++$i) {
    // some code
}
$after = memory_get_peak_usage();
$used_memory = $after - $before;
于 2013-02-19T22:07:46.560 に答える