【TP5 :错误和调试】性能调试

版权声明:本文为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);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39251267/article/details/82498769