Ho pensato di condividere la funzione che ho messo insieme. Spero che possa farti risparmiare tempo.
È stato originariamente utilizzato per tenere traccia dei tempi di uno script basato su testo, quindi l'output è in formato testo. Ma puoi facilmente modificarlo in HTML se preferisci.
Farà tutti i calcoli per te per quanto tempo è stato trascorso dall'inizio dello script e in ogni passaggio. Formatta tutto l'output con 3 decimali di precisione. (Fino a millisecondi.)
Una volta copiato nella parte superiore del tuo script, tutto ciò che fai è inserire le chiamate della funzione recordTime dopo ogni pezzo che vuoi cronometrare.
Copia questo nella parte superiore del file di 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;
}
Per tenere traccia del tempo che passa, basta fare:
recordTime("What We Just Did")
Per esempio:
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)
}
Fornisce un output in questo modo:
// 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
Spero che questo aiuti qualcuno!