Время выполнения скрипта на PHP (Рейтинг: -3)
В этой статье я расскажу о том, как засечь время выполнения вашего кода
Наверняка вы уже где-нибудь видели маленькую надпись внизу страницы, что-нибудь типа:
0.325261 сек.Вот тоже самое можно сделать с помощью всего трех функций:
1) Функция
2) Функция
Добавил: ZipeR
08.06.2011 / 16:11Наверняка вы уже где-нибудь видели маленькую надпись внизу страницы, что-нибудь типа:
0.325261 сек.Вот тоже самое можно сделать с помощью всего трех функций:
1) Функция
[size=4][i] string microtime(void) возвращает строку типа "msec sec", где msec - количество миллисекунд и sec - текущее время в секундах с начала эпохи UNIX (0:00:00 January 1, 1970 GMT). Эта функция работает только в операционных системах, поддерживающих системный вызов gettimeofday(). [/i][/size]
2) Функция
[color=#0000ff][size=4] array explode(string separator, string string [, int limit]) Делит строку string в соответствии с разделителем separator и записывает все части (или не все, если указано количество частей limit) в массив, который функция выдает в качестве результата. [/size][/color]3) Функция
[size=4] void printf (string format [, mixed args]) Эта функция полностью аналогична своей C версии. Она выводит аргументы (args), по заданному формату format Параметры: format - строковый формат вывода данных args - аргументы, для форматирования [color=#ff0000][/color][/size]Итак, теперь рассмотрим логику.
Что нам нужно сделать ?
Нам нужно перед выполнением кода, время которого мы хотим засечь, считать текущее время. После выполнения кода мы опять должны будем считать текущее время и вывести разницу.
Пишем следующие строки в самом начале вашего PHP скрипта:
//Считываем текущее время
$mtime = microtime();
//Разделяем секунды и миллисекунды
$mtime = explode(" ",$mtime);
//Составляем одно число из секунд и миллисекунд
$mtime = $mtime[1] + $mtime[0];
//Записываем стартовое время в переменную
$tstart = $mtime;
Теперь в самом конце, после кода, время выполнения которого нам надо засечь, пишем:
//Делаем все то же самое, чтобы получить текущее время
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
//Записываем время окончания в другую переменную
$tend = $mtime;
//Вычисляем разницу
$totaltime = ($tend - $tstart);
//Выводим не экран
printf ("Страница сгенерирована за %f секунд !", $totaltime);
Обратите внимание, что простой вывод с помощью print или echo в данном случае не подходит, так как мы имеем дело с переменной не целочисленного типа, поэтому надо обязательно указать для PHP формат вывода такой переменной.
Рейтинг:
-3
Просмотры: 1385Комментарии (6) »