Microtime глючит. Первый раз измеряет нормально. Потом - что-то непонятное.

general

Новичок
Microtime глючит. Первый раз измеряет нормально. Потом - что-то непонятное.

Достаточно тяжелый скрипт. Подключается куча функций. Впрочем, не в этом дело.

Вызов микротайма для измерения скорости скрипта - стандартный:

PHP:
$time_start = microtime(1);
в конце скрипта:

PHP:
$time_end = microtime(1);
$time = $time_end - $time_start;
echo $time;
Первый раз, загрузив скрипт получаешь нормальное время. Типа "2.39958715439". Повторная загрузка скрипта (которая выполняется быстрее, т.к. подгружается кэш), выдает странный результат для микротайма типа такого "1272893505.8".

Причем, как на локальной машине, так и на unix-сервере.

Прошу, вобщем, помощи. Что это может быть?
 

mity

Новичок
Такое может получаться только по причине обнуления $time_start, попробуйте так.
PHP:
$GLOBALS["__time_start"]=(float)microtime(1);
...
$d_time=(float)microtime(1)-$GLOBALS["__time_start"];
 

LONGMAN

Dark Side of the Moon..
Re: Microtime глючит. Первый раз измеряет нормально. Потом - что-то непонятное.

Автор оригинала: general
Достаточно тяжелый скрипт. Подключается куча функций. Впрочем, не в этом дело.

Вызов микротайма для измерения скорости скрипта - стандартный:

PHP:
$time_start = microtime(1);
в конце скрипта:

PHP:
$time_end = microtime(1);
$time = $time_end - $time_start;
echo $time;
Первый раз, загрузив скрипт получаешь нормальное время. Типа "2.39958715439". Повторная загрузка скрипта (которая выполняется быстрее, т.к. подгружается кэш), выдает странный результат для микротайма типа такого "1272893505.8".

Причем, как на локальной машине, так и на unix-сервере.

Прошу, вобщем, помощи. Что это может быть?
А ты попробуй round() до вывода
 

weregod

unserializer
еще полезно попечатать $time_start сразу после создания и перед использованием
 

vovanium

Новичок
general
которая выполняется быстрее, т.к. подгружается кэш
У тебя часом замер $time_start не находится в блоке который выполняется только при отсутствии кэша? :)
 
Сверху