Час виконання скрипта на PHP.

У цій статті я розповім про те, як засікти час виконання вашого коду

Напевно ви вже де-небудь бачили маленьку напис внизу сторінки, що-небудь типу:
Page generated in 0.325261 seconds

Ось теж саме можна зробити за допомогою всього трьох функцій:

1) Функція

string microtime(void)

повертає рядок типу "msec sec", де msec – кількість мілісекунд і sec – поточний час у секундах з початку епохи UNIX (0:00:00 January 1, 1970 GMT). Ця функція працює тільки в операційних системах, що підтримують системний виклик gettimeofday ().

2) Функція

array explode(string separator, string string [, int limit]) 

Ділить рядок string відповідно до роздільником separator і записує всі частини (або не все, якщо вказано кількість частин limit) в масив, який функція видає в якості результату.

3) Функція

void printf (string format [, mixed args])

Ця функція повністю аналогічна своєї C версії. Вона виводить аргументи (args), за заданим форматом format

Параметри:
format – Рядковий формат виводу даних
args – Аргументи, для форматування

Отже, тепер розглянемо логіку.

Що нам потрібно зробити?
Нам потрібно перед виконанням коду, час якого ми хочемо засікти, вважати поточний час. Після виконання коду ми знову повинні будемо вважати поточний час і вивести різницю.

Пишемо наступні рядки в самому початку вашого 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 формат виводу такої змінної.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*