Я думал, что разделю функцию, которую я собрал. Надеюсь, это поможет вам сэкономить время.
Первоначально он использовался для отслеживания времени выполнения текстового сценария, поэтому вывод осуществляется в текстовой форме. Но вы можете легко изменить его на HTML, если хотите.
Он сделает все расчеты за то, сколько времени было потрачено с момента запуска скрипта и на каждом шаге. Он форматирует весь вывод с точностью до 3 десятичных знаков. (До миллисекунд.)
После того, как вы скопируете его в начало вашего скрипта, все, что вам нужно сделать, это поместить вызовы функции recordTime после каждого фрагмента, который вы хотите установить по времени.
Скопируйте это в начало вашего файла сценария:
$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;
}
Чтобы отслеживать время, которое вы проходите, просто выполните:
recordTime("What We Just Did")
Например:
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)
}
Дает вывод, как это:
// 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
Надеюсь, это поможет кому-то!