版权声明:本文为ywcmoon原创文章,未经允许不得转载。 https://blog.csdn.net/qq_39251267/article/details/82498769
系统提供了think\Debug
类可以获取某个区间的运行时间和内存占用情况
Debug::remark('begin');
// ...其他代码段
Debug::remark('end');
// ...也许这里还有其他代码
// 进行统计区间
echo Debug::getRangeTime('begin','end');
表示统计begin
位置到end
位置的执行时间(单位是秒),begin
是必已标记过的位置,end
位置没被标记,则会自动把当前位置标记为end
标签,输出的结果类似于:0.0056
默认统计精度小数点后4
位,第三个参数可设置输出的精度小数
echo Debug::getRangeTime('begin','end',5);
getRangeMem
方法进行区间内存开销统计(单位为kb)
echo Debug::getRangeMem('begin','end').'kb';
助手函数
助手函数debug
用于完成相同的作用
debug('begin');
// ...其他代码段
debug('end');
// ...也许这里还有其他代码
// 进行统计区间
echo debug('begin','end').'s';
echo debug('begin','end',6).'s';
echo debug('begin','end','m').'kb';
第三个参数使用m
表示进行内存开销统计
//degug 源码
if (!function_exists('debug')) {
/**
* 记录时间(微秒)和内存使用情况
* @param string $start 开始标签
* @param string $end 结束标签
* @param integer|string $dec 小数位 如果是m 表示统计内存占用
* @return mixed
*/
function debug($start, $end = '', $dec = 6)
{
if ('' == $end) {
Debug::remark($start);
} else {
return 'm' == $dec ? Debug::getRangeMem($start, $end) : Debug::getRangeTime($start, $end, $dec);
}
}
}