Benchmark使用说明

DoitPHP扩展类Benchmark,用于对特定的代码段进行内存占用及执行时间的基准测试。本类为DoitPHP框架专用测试类。注:本类提供的类方法均支持静态调用

类方法使用说明

1、mark($name)

标记当前点的基准数据
参数说明:
$name : 标记名

2、get($startName, $endName = null)

获取测试代码片段的总的内存占用及执行时间
参数说明:
$startName : 开始标记名
$endName : 结束标记名

3、getAll()

获取每个标记点的内存及执行时间
参数说明:
参数为空

4、getTime()

获取每个标记点的时间
参数说明:
参数为空

5、getMemory()

获取每个标记点的内存占用
参数说明:
参数为空

使用举例

例一、

Controller文件代码内容如下:

public function indexAction() {
    
    Benchmark::mark('Start');
    //此处省略功能代码...
    Benchmark::mark('step01');
    //此处省略功能代码...
    Benchmark::mark('step02');
    //此处省略功能代码...
    Benchmark::mark('End');

    //最后数据统计
    $data = Benchmark::get('start', 'step02');
    $this->dump($data);
}

注:测试程序,获取程序的性能数据,首先要下标记:mark(), 下标记后,当前的内存占用,当前的时间戳等信息全都记录在这个标记下。由上面例子可以看出,标记Start时,获取一组数据;标记为End时,获取一组数据。这两组数据一对比,就知道两个标记间的程序运行的性能情况。