Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP profiling with microtime(): Negative time?

Tags:

php

microtime

For a very simple profiling I use microtime() like this:

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

Now, the output of the echo line seems completely random, that is, I expected fluctuations, but I didn't expect negative numbers showing up.

However, a typical result contains ~ 1/3 negative numbers. I confirmed this on Solaris (PHP 5.0.x) and WinVista (PHP 5.2.3).

What the heck is going on here? Have I invented accidently a time machine?

like image 881
Boldewyn Avatar asked Apr 09 '10 11:04

Boldewyn


1 Answers

If you want to do operations on what is returned by microtime, you have to set the "get as float" parameter to true (it defaults to false).

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

$now = microtime(true); for (...) {     // do something     echo microtime(true) - $now;     $now = microtime(true); } 
like image 90
Arkh Avatar answered Sep 21 '22 23:09

Arkh