Как проверить время выполнения скрипта PHP

Каждый скрипт нуждается в отладке, а одним из параметров качественной работы является быстрая скорость работы той или иной функции или ПО в принципе.
PHP не предоставляет стандартных способов получения такой информации, соответственно приходится прибегать к модификациям кода. Скорость выполнения можно определить получив значения времени в момент запуска какого-либо участка кода и в момент окончания его выпонения.

Максимально точно определить текущее время можно командой microtime() которая возвращает текущее время в unix формате с миллисекундами.
Результат данного кода:

<?php

echo microtime();

?>
будет примерно следующим:
0.23425000 1265223276
где первая часть – миллисекунды, а вторая метка времени в unix формате.
чтобы получить текущее время с миллисекундами эти значения необходимо сложить.
Разбить их можно с помощью функции explode.
Итого точное текущее время мы получим выполнив:
$time explode(' ', microtime());

$time $time[1] + $time[0];
Теперь можем упростить эту задачу используя функцию array_sum()
$time array_sum(explode(' ', microtime()));
Таким образом мы получили метку времени запуска. Метка конца выполнения получается аналогичным образом, далее вычетаем метку запуска из метки остановки и получаем разницу во времени которая и является временем выполнения участка кода.
$start array_sum(explode(' ', microtime()));

/* code */
sleep(1); // Задержка в 1 секунду
printf ("%f sec.", (array_sum(explode(' ', microtime())) - $start));

Результат: 1.000069 sec.
Без кода между вычислениями можно определить погрешность в расчете за счет внедрения данного кода. В моем случае она составляет не более 0.0001 секунды. Данный момент в большей степени зависит от конфигурации системы и железа.

Примечание:
В версии PHP 5.0.0 у функции microtime() появился необзательный параметр (bool)get_as_float, при указании которого функция вернет действительное число. В данном случае можно сократить код за счет избавления от “ненужных” функцийexplode() и array_sum()

//ДАННЫЙ МЕТОД ПРИМЕНИМ К PHP ВЕРСИЕЙ НЕ НИЖЕ 5.0.0

$start = microtime(1);
/* code */
sleep(1); // Задержка в 1 секунду
printf ("%f sec.", microtime(1) - $start);
К слову работает этот способ в разы быстрее, за счет чего более предпочтителен.