Для очень простого профилирования я использую microtime()
как это:
$now = microtime();
for (...) {
// do something
echo microtime() - $now;
$now = microtime();
}
Теперь, вывод echo
строка кажется абсолютно случайной, то есть, я ожидал колебания, но я не ожидал разоблачение отрицательных чисел.
Однако типичный результат содержит ~ 1/3 отрицательные числа. Я подтвердил это на Солярисе (PHP 5.0.x) и WinVista (PHP 5.2.3).
Какого черта продолжается здесь? Я изобрел случайно машину времени?
Если вы хотите выполнять операции с тем, что возвращает microtime, вы должны установить для параметра «get as float» значение true (по умолчанию - false).
http://www.php.net/manual/en/function.microtime.php
$now = microtime(true);
for (...) {
// do something
echo microtime(true) - $now;
$now = microtime(true);
}