Час виконання скрипта h2>
В
цій статті я розповім про те, як засікти час виконання вашого коду на PHP. p>
Напевно
ви вже де-небудь бачили маленьку напис внизу сторінки, що-небудь типу: p>
Page
generated in 0.325261 seconds p>
Ось
теж саме можна зробити за допомогою всього трьох функцій: p>
1)
Функція string microtime (void) p>
Повертає
рядок типу "msec sec", p>
де
msec - кількість мілісекунд p>
і
sec - поточний час в секундах з початку епохи UNIX (0:00:00 January 1, 1970
GMT) p>
Ця
функція працює тільки в операційних системах, що підтримують системний виклик
gettimeofday (). p>
2) Функція p>
array explode (string separator,
string string [, int limit]) p>
ділить
рядок string відповідно до роздільником separator і записує всі частини
(або не все, якщо зазначена кількість частин limit) в масив, що функція
видає як результат. p>
3) Функція p>
void printf (string format [, mixed
args]) p>
Ця
функція повністю аналогічна своїй C версії. Вона виводить аргументи (args), за
заданому формату format p>
Параметри: p>
format
- Рядковий формат виведення даних p>
args
- Аргументи, для форматування p>
Отже,
тепер розглянемо логіку. p>
Що
нам потрібно зробити? p>
Нам
потрібно перед виконанням коду, час якого ми хочемо засікти, вважати поточне
час. Після виконання коду ми знову повинні будемо вважати поточний час і
вивести різницю. p>
Пишемо
наступні рядки на самому початку вашого PHP скрипта: p>
// Прочитуємо
поточний час p>
$ mtime
= Microtime (); p>
// Розділяємо
секунди і мілісекунди p>
$ mtime
= Explode ( "", $ mtime); p>
// Складаємо
одне число з секунд і мілісекунд p>
$ mtime
= $ Mtime [1] + $ mtime [0]; p>
// Записуємо
стартовий час в змінну p>
$ tstart
= $ Mtime; p>
Тепер
в самому кінці, після коду, час виконання якого нам треба засікти, пишемо: p>
// Робимо
все те ж саме, щоб отримати поточний час p>
$ mtime = microtime (); p>
$ mtime = explode ( "
", $ mtime); p>
$ mtime
= $ Mtime [1] + $ mtime [0]; p>
// Записуємо
час закінчення в іншу змінну p>
$ tend = $ mtime; p>
// Обчислюємо різницю p>
$ totaltime = ($ tend - $ tstart); p>
// Виводимо
не екран p>
printf
( "Сторінку згенеровано за% f секунд!", $ Totaltime); p>
Зверніть
увагу, що простий висновок з допомогою print або echo в даному випадку не
підходить, тому що ми маємо справу з змінної не цілочисельного типу, тому
треба обов'язково вказати для PHP формат виведення такої змінної. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://www.soch.imperium.by
p>