Perfilado de PHP con microtime (): ¿Tiempo negativo?

Para un perfil muy simple, uso microtime() esta manera:

 $now = microtime(); for (...) { // do something echo microtime() - $now; $now = microtime(); } 

Ahora, la salida de la línea de echo parece completamente aleatoria, es decir, esperaba fluctuaciones, pero no esperaba que aparecieran números negativos .

Sin embargo, un resultado típico contiene ~ 1/3 números negativos. Confirmé esto en Solaris (PHP 5.0.x) y WinVista (PHP 5.2.3).

¿Qué diablos está pasando aquí? ¿He inventado accidentalmente una máquina del tiempo?

Si desea realizar operaciones sobre lo que devuelve microtime, debe establecer el parámetro “get as float” en true (su valor predeterminado es false).

http://www.php.net/manual/en/function.microtime.php

 $now = microtime(true); for (...) { // do something echo microtime(true) - $now; $now = microtime(true); }