public static function getMemPeak($start, $end, $dec = 2)
{
if (!isset(self::$mem['peak'][$end])) {
self::$mem['peak'][$end] = memory_get_peak_usage();
}
$size = self::$mem['peak'][$end] - self::$mem['peak'][$start];
$a = ['B', 'KB', 'MB', 'GB', 'TB'];
$pos = 0;
while ($size >= 1024) {
$size /= 1024;
$pos++;
}
return round($size, $dec) . " " . $a[$pos];
}
/** * @covers think\Debug::getMemPeak * @todo Implement testGetMemPeak(). */ public function testGetMemPeak() { $start = "testGetMemPeakStart"; $end = "testGetMemPeakEnd"; \think\Debug::remark($start); $str = ""; for ($i = 0; $i < 100000; $i++) { $str .= "mem"; } $memPeak = \think\Debug::getMemPeak($start, $end); // echo "\r\n" . $memPeak . "\r\n"; $this->assertLessThan(238, explode(" ", $memPeak)[0]); }