(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — Fetch profiler data
For a profiling instance previously started by LuaSandbox::enableProfiler() , get a report of the cost of each function.
The measurement unit used for the cost is determined by the $units parameter:
LuaSandbox::SAMPLES
Measure in number of samples.
LuaSandbox::SECONDS
Measure in seconds of CPU time.
LuaSandbox::PERCENT
Measure percentage of CPU time.
units
Measurement unit constant.
Returns profiler measurements, sorted in descending order, as an associative array . Keys are the Lua function names (with source file and line defined in angle brackets), values are the measurements as int or float .
Note:
On Windows, this function always returns an empty array. On operating systems that do not support
CLOCK_THREAD_CPUTIME_ID
, such as FreeBSD and Mac OS X, this function will report the elapsed wall-clock time, not CPU time.
Example #1 Profiling Lua code
<?php
// create a new LuaSandbox
$sandbox = new LuaSandbox();
// Start the profiler
$sandbox->enableProfiler( 0.01 );
// ... Execute some Lua code here ...
// Fetch the profiler data
$data = $sandbox->getProfilerFunctionReport();
?>