(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — Получает данные профилировщика
Для экземпляра профилирования, ранее запущенного с помощью LuaSandbox::enableProfiler(), получите отчёт о стоимости каждой функции.
The measurement unit used for the cost is determined by the $units parameter:
LuaSandbox::SAMPLES
Измерение количества образцов.
LuaSandbox::SECONDS
Измерение процессорного времени в секундах.
LuaSandbox::PERCENT
Измерение процента процессорного времени.
units
Константа единицы измерения.
Возвращает измерения профилировщика, отсортированные в порядке убывания, в виде ассоциативного массива (array). Ключи - это имена функций Lua (с исходным файлом и строкой, определёнными в угловых скобках), значения - это измерения как целое число (int) или число с плавающей запятой (float).
Замечание:
В Windows функция всегда возвращает пустой массив. В операционных системах, которые не поддерживают
CLOCK_THREAD_CPUTIME_ID
, таких как FreeBSD и Mac OS X, функция будет сообщать фактическое прошедшее время, а не время процессора.
Пример #1 Профилирование кода Lua
<?php
// создание нового LuaSandbox
$sandbox = new LuaSandbox();
// начало профилирования
$sandbox->enableProfiler( 0.01 );
// ... Выполнение какого-то кода Lua ...
// получение данных профилирования
$data = $sandbox->getProfilerFunctionReport();
?>