(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — 擷取效能分析器資料
針對先前由 LuaSandbox::enableProfiler() 啟動的效能分析執行個體,取得每個函式成本的報告。
用於成本的測量單位由 $units 參數決定
LuaSandbox::SAMPLES
以樣本數量測量。
LuaSandbox::SECONDS
以 CPU 時間(秒)測量。
LuaSandbox::PERCENT
以 CPU 時間百分比測量。
units
測量單位常數。
以關聯式 陣列 的形式返回分析器測量結果,並按降冪排序。鍵值為 Lua 函數名稱(來源檔案和行號以尖括號定義),值為 整數 或 浮點數 類型的測量值。
注意事項:
在 Windows 上,此函數始終返回空陣列。在不支援
CLOCK_THREAD_CPUTIME_ID
的作業系統上,例如 FreeBSD 和 Mac OS X,此函數將回報經過的實際時間(wall-clock time),而不是 CPU 時間。
範例 #1 分析 Lua 程式碼
<?php
// 建立新的 LuaSandbox
$sandbox = new LuaSandbox();
// 啟動分析器
$sandbox->enableProfiler( 0.01 );
// ... 在此執行一些 Lua 程式碼 ...
// 取得分析器資料
$data = $sandbox->getProfilerFunctionReport();
?>