开发过程中 有些时候为了测试性能 经常需要调试某段代码的运行时间或内存占用开销 系统提供了thinkDebug类(实际使用thinkfacadeDebug类即可)可以很方便的获取某个区间的运行时间和内存占用情况。 例如:

Debug::remark('begin');
// ...其  代码段
Debug::remark('end');
// ...也许这里还有其  代码
// 进行统计区间
echo Debug::getRangeTime('begin','end').'s';

表示统计begin位置到end位置的执行时间(单位是秒) begin必须是个已经标记过的位置 如果这个时候end位置还没被标记过 则会自动把当前位置标记为end标签 输出的结果类似于:0.0056s

默认的统计精度是小数点后4位 如果觉得这个统计精度不够 还可以设置例如:

echo Debug::getRangeTime('begin','end',6).'s';

可能的输出会变成:0.005587s

如果你的环境支持内存占用统计的话 还可以使用getRangeMem方法进行区间内存开销统计(单位为kb) 例如:

echo Debug::getRangeMem('begin','end').'kb';

第三个参数使用m表示进行内存开销统计 输出的结果可能是:625kb

同样 如果end标签没有被标记的话 会自动把当前位置先标记位end标签。

助手函数

系统还提供了助手函数debug用于完成相同的作用 上面的代码可以改成:

debug('begin');
// ...其  代码段
debug('end');
// ...也许这里还有其  代码
// 进行统计区间
echo debug('begin','end').'s';
echo debug('begin','end',6).'s';
echo debug('begin','end','m').'kb';