Ich dachte, ich würde die Funktion teilen, die ich zusammengestellt habe. Hoffentlich können Sie Zeit sparen.
Es wurde ursprünglich verwendet, um das Timing eines textbasierten Skripts zu verfolgen, sodass die Ausgabe in Textform erfolgt. Sie können es jedoch problemlos in HTML ändern, wenn Sie dies bevorzugen.
Es werden alle Berechnungen für Sie durchgeführt, um festzustellen, wie viel Zeit seit dem Start des Skripts und in jedem Schritt aufgewendet wurde. Es formatiert die gesamte Ausgabe mit 3 Dezimalstellen. (Bis auf Millisekunden.)
Sobald Sie es an den Anfang Ihres Skripts kopiert haben, müssen Sie nur die recordTime-Funktionsaufrufe nach jedem Stück setzen, das Sie zeitlich festlegen möchten.
Kopieren Sie dies an den Anfang Ihrer Skriptdatei:
$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;
}
Um die verstrichene Zeit zu verfolgen, gehen Sie einfach wie folgt vor:
recordTime("What We Just Did")
Beispielsweise:
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)
}
Gibt Ausgabe wie folgt:
// 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
Hoffe das hilft jemandem!