(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — 获取性能分析数据
对于之前由LuaSandbox::enableProfiler()启动的性能分析实例,获取每个函数成本的报告。
成本使用的度量单位由$units参数决定。
LuaSandbox::SAMPLES
以样本数为单位测量。
LuaSandbox::SECONDS
以CPU时间秒为单位测量。
LuaSandbox::PERCENT
测量CPU时间的百分比。
units
测量单位常量。
返回性能分析器测量结果,按降序排序,作为关联array。键是Lua函数名(带尖括号定义的源文件和行号),值是int或float类型的测量结果。
注意:
在Windows上,此函数始终返回空数组。在不支持
CLOCK_THREAD_CPUTIME_ID
的操作系统(例如FreeBSD和Mac OS X)上,此函数将报告经过的挂钟时间,而不是CPU时间。
示例 #1 性能分析Lua代码
<?php
// 创建一个新的LuaSandbox
$sandbox = new LuaSandbox();
// 启动性能分析器
$sandbox->enableProfiler( 0.01 );
// ... 在此处执行一些Lua代码 ...
// 获取性能分析数据
$data = $sandbox->getProfilerFunctionReport();
?>