Для очень простого профилирования я использую microtime()
следующим образом:
$now = microtime(); for (...) { // do something echo microtime() - $now; $now = microtime(); }
Теперь выход echo
строки кажется совершенно случайным, то есть ожидаемыми колебаниями, но я не ожидал появления отрицательных чисел .
Однако типичный результат содержит ~ 1/3 отрицательных чисел. Я подтвердил это на Solaris (PHP 5.0.x) и WinVista (PHP 5.2.3).
Что, черт возьми, происходит здесь? Я случайно придумал машину времени?
Если вы хотите выполнять операции над тем, что возвращается микрочешью, вам нужно установить параметр «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); }