(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — Récupère les données du profileur
Pour une instance de profilage précédemment démarrée par LuaSandbox::enableProfiler(), récupère un rapport du coût de chaque fonction.
La mesure du coût est déterminée par le paramètre $units :
LuaSandbox::SAMPLES
Mesure en nombre d'échantillons.
LuaSandbox::SECONDS
Mesure en secondes de temps CPU.
LuaSandbox::PERCENT
Mesure en pourcentage de temps CPU.
units
L'unité de mesure constante.
Renvoie les mesures du profileur, triées par ordre décroissant, sous forme d'un tableau associatif. Les clés sont les noms des fonctions Lua (avec le fichier source et la ligne définis entre crochets angulaires), les valeurs sont les mesures en int ou float.
Note:
Sur Windows, cette fonction renvoie toujours zéro. Sur les systèmes d'exploitation qui ne prennent pas en charge
CLOCK_THREAD_CPUTIME_ID
, tels que FreeBSD et Mac OS X, cette fonction renverra le temps écoulé au mur, pas le temps CPU.
Exemple #1 Profiling Lua code
<?php
// créer un nouveau LuaSandbox
$sandbox = new LuaSandbox();
// Démarre le profileur
$sandbox->enableProfiler( 0.01 );
// ... Exécutez du code Lua ici ...
// Récupère les données du profileur
$data = $sandbox->getProfilerFunctionReport();
?>