Je pensais partager la fonction que j'avais mise en place. J'espère que cela peut vous faire gagner du temps.
Il était à l'origine utilisé pour suivre le timing d'un script texte, donc la sortie est sous forme de texte. Mais vous pouvez facilement le modifier en HTML si vous préférez.
Il fera tous les calculs pour vous pour combien de temps a été passé depuis le début du script et à chaque étape. Il formate toute la sortie avec 3 décimales de précision. (Jusqu'à quelques millisecondes.)
Une fois que vous l'avez copié en haut de votre script, il vous suffit de placer les appels de la fonction recordTime après chaque morceau que vous souhaitez chronométrer.
Copiez ceci en haut de votre fichier de script:
$tRecordStart = microtime(true);
header("Content-Type: text/plain");
recordTime("Start");
function recordTime ($sName) {
global $tRecordStart;
static $tStartQ;
$tS = microtime(true);
$tElapsedSecs = $tS - $tRecordStart;
$tElapsedSecsQ = $tS - $tStartQ;
$sElapsedSecs = str_pad(number_format($tElapsedSecs, 3), 10, " ", STR_PAD_LEFT);
$sElapsedSecsQ = number_format($tElapsedSecsQ, 3);
echo "//".$sElapsedSecs." - ".$sName;
if (!empty($tStartQ)) echo " In ".$sElapsedSecsQ."s";
echo "\n";
$tStartQ = $tS;
}
Pour suivre le temps qui passe, faites simplement:
recordTime("What We Just Did")
Par exemple:
recordTime("Something Else")
//Do really long operation.
recordTime("Really Long Operation")
//Do a short operation.
recordTime("A Short Operation")
//In a while loop.
for ($i = 0; $i < 300; $i ++) {
recordTime("Loop Cycle ".$i)
}
Donne une sortie comme ceci:
// 0.000 - Start
// 0.001 - Something Else In 0.001s
// 10.779 - Really Long Operation In 10.778s
// 11.986 - A Short Operation In 1.207s
// 11.987 - Loop Cycle 0 In 0.001s
// 11.987 - Loop Cycle 1 In 0.000s
...
// 12.007 - Loop Cycle 299 In 0.000s
J'espère que cela aide quelqu'un!