think\Debug::getMemPeak PHP Method

getMemPeak() public static method

统计区间的内存峰值情况
public static getMemPeak ( string $start, string $end, integer | string $dec = 2 ) : mixed
$start string 开始标签
$end string 结束标签
$dec integer | string 小数位
return mixed
    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];
    }

Usage Example

Example #1
0
 /**
  * @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]);
 }
All Usage Examples Of think\Debug::getMemPeak