Форум → Программирование → PHP для идиотов → Время выполнения функции
Время выполнения функции
-
-
21 ноября 2007 г. 15:49, спустя 1 минуту 35 секунд
-
-
-
21 ноября 2007 г. 16:13, спустя 17 минут 57 секунд
На тебе пару готовых функций
function st()
{
global $tstart;
//Считываем текущее время
$mtime = microtime();
//Разделяем секунды и миллисекунды
$mtime = explode(" ",$mtime);
//Составляем одно число из секунд и миллисекунд
$mtime = $mtime[1] + $mtime[0];
//Записываем стартовое время в переменную
$tstart = $mtime;
echo "<p><div style=\"color : blue\">Время обнулено</div>";
}
function ct()
{
global $tstart;
//Делаем все то же самое, чтобы получить текущее время
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
//Записываем время окончания в другую переменную
$tend = $mtime;
//Вычисляем разницу
$totaltime = ($tend - $tstart);
//Выводим не экран
printf ("<div style=\"color : blue\">Сгенерировано за %f секунд !</div>", $totaltime);
}
Работают в паре до и после блока кода, который надо замерить т.е.
st(); // Start time
my_not_optimized_function();
ct(); // Current time -
21 ноября 2007 г. 17:54, спустя 1 час 41 минуту 16 секунд
Только они будут иметь какой-то смысл, если my_not_optimized_function() работает на порядки дольше самих st() и ct() :) -
21 ноября 2007 г. 18:08, спустя 13 минут 34 секунды
Разумеется … она же - not_optimized :)
А также, надо понимать, что время работы функции вообще величина не постоянная … и при каждом запуске может быть разный результат.
Так что эти функции не какое-то универсальное мерило, а вспомогательный инструмент для оптимизации и оценки ее эффективности. -
-
22 ноября 2007 г. 1:36, спустя 3 часа 47 минут 6 секунд
XDebug - полюбому рулит!!! т.к. microtime - это грязное время….
Пожалуйста, авторизуйтесь, чтобы написать комментарий!