Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Страница сгенерирована за ...Всем доброго времени суток! В этом небольшой статье я хочу рассказать вам, как засечь время выполнения вашего кода на PHP. Многие называют этот прием подсчетом времени генерации страницы. Мне это название также пришлось по душе, так что в дальнейшем буду употреблять его чаще. Не говорите мне, что вы ни разу не видели примерно такой надписи на сайтах: Страница сгенерирована за 0.235467 секунд или Page generated in 0.235467 seconds Прикольная вещь, однако. Не ошибусь, если вы тоже хотите реализовать её на своем сайте? Хотите - тогда поехали. Сначала объясню логику работы такой фишки. Она очень проста:
Рекомендую сразу части скрипта, отвечающие за подсчет времени в начале и в конце кода, соответственно, вынести в отдельные файлы и вставлять их по мере необходимости. Итак, код скрипта start.php, который подсчитывает текущее время (вставлять в том месте, откуда начинаем подсчет, т.е. где-то в начале страницы). Файл start.php<? // считываем текущее время $start_time = microtime(); // разделяем секунды и миллисекунды //(становятся значениями начальных ключей массива-списка) $start_array = explode(" ",$start_time); // это и есть стартовое время $start_time = $start_array[1] + $start_array[0]; ?> Стартовое время подсчитали. Теперь код файла end.php, который также подсчитывает текущее время, а затем выводит разность этого времени от подсчитанного в файле start.php, т.е., по сути дела, и выводит время генерации страницы. Файл end.php<? // делаем то же, что и в start.php, только используем другие переменные $end_time = microtime(); $end_array = explode(" ",$end_time); $end_time = $end_array[1] + $end_array[0]; // вычитаем из конечного времени начальное $time = $end_time - $start_time; // выводим в выходной поток (браузер) время генерации страницы printf("Страница сгенерирована за В принципе, все. Файл start.php вставляйте туда, откуда хотите начинать засекать время; end.php - где захотите "остановить ваш секундомер". Вставки файлов можете осуществлять, к примеру, инструкцией include(); Дело сделано... однако, наверняка вы хотите разобраться, как же работает то, что мы написали. Лично я не люблю юзать чужие наработки в принципе. А если и юзаю, то, обязательно разобравшись в их работе. Далее объясню вам, для чего служат функции, которые мы применяли в примерах и дам несколько советов. Функции, использовавшиеся в примерах
Советы (а точнее совет=)
Если вы нашли ошибки\неточности в статье или просто хотите поделиться впечатлениями, аль спросить меня о чем-либо по этой теме, то пишите или оставляйте здесь свои комментарии. На этом я прощаюсь с вами. Учил вас засекать время генерации страницы Makswell =%) |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|