Ren*_*ene 6 php cpu benchmarking
我创建了一个基准类,允许用户插入例如
$timer->checkpoint('1');
Run Code Online (Sandbox Code Playgroud)
检查一些代码的时间,内存消耗等......如果她/他想测试它,她/他必须插入代码的末尾
$result=$timer->result();
Run Code Online (Sandbox Code Playgroud)
这给公共函数result()提供了一些数据,例如内存使用(使用memory_get_peak_usage)和时间消耗(microtime()).
这对我来说都很好.
但是,如何使用现有内置php函数的组合来获取可被视为CPU消耗的值?
使用内置函数计算在某段代码上花费了多少时间非常容易,但我一直在想办法如何获得某段代码的CPU消耗.
讨厌回答我自己的问题,但我做了很多研究,在这里我去...基本上我做的就是这个......
$dat=getrusage();
foreach ($dat as $key => $val) {
$usertime= $dat['ru_utime.tv_usec'];
$systemtime= $dat['ru_stime.tv_usec'];
$finalresultcpu= ($systemtime + $usertime);
}
$this->_cpuTrackers[$name]=$finalresultcpu;
return $this;
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我使用了getrusage php内置函数.这给出了一个包含大量信息的数组,除了ru_utime.tv_usec(用户时间)和ru_stime.tv_usec(系统时间)之外,其中大多数对我来说都是无用的.要查看脚本消耗了多少CPU功率,我们需要查看"用户时间"和"系统时间"值,正如您在代码中看到的那样,添加它以获得实际上是cpu使用的时间.
| 归档时间: |
|
| 查看次数: |
2555 次 |
| 最近记录: |