Consistently use microtime(TRUE) instead of time()