是否有可能在PHP中獲得特定代碼塊的峯值內存使用量?函數似乎在整個過程執行過程中達到了高峯,直到函數調用的這一點,但這不是我想要獲得的,因爲其他代碼塊可能會偏離該值。我試圖自己隔離代碼塊,而不是整個過程。代碼塊的峯值內存使用情況?
例子:
// 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的是不會在這個時候我的選擇。
我在我的問題中解釋了爲什麼這不起作用。 – FtDRbwLXw6
只要使用一次就可以讓您在整個代碼中達到頂點。 但是,在變量之前和之後都有一個變量,會減少該函數的峯值內存使用量。 –
由於我在我的問題中列出的原因,這不會以您認爲的方式工作。因爲'memory_get_peak_usage()'維持一個運行*最大值*,所以如果你所包裝的代碼塊使用的是*最小值*,那麼後面的調用仍然會顯示最大值,而'$ used_memory'將會是0. – FtDRbwLXw6