Щоб визначити час виконання функції потрібно викликати перед початком виконання і після початку функцію microtime(true)

Фінально це може виглядати так:

$start = microtime(true);

// тут виклик ваших функцій, або запитів до БД

echo 'Час виконання: '.(microtime(true) - $start).' сек.';

 

Я зазвичай відразу роблю 2 подібних записи і запускаю одночасно 2 варіанти різних функцій, які потрібно протестувати.

До другого ще зручно додати кілька перенесень рядка:

$start = microtime(true);
        
// ще одна частина коду для тесту        

echo '<br><br>Час виконання: '.(microtime(true) - $start).' сек.';

 

Результатом буде час виконання з великою кількістю знаків після коми:

Час виконання: 0.35300993919373 сек.

Час виконання: 0.30709195137024 сек.

 

В моєму випадку другий варіант виявився значно швидшим, що підтвердило моє першочергове припущення.

Для того щоб перевірити функції, які виконуються супер-швидко, зазвичай використовують цикли з великим числом ітерацій. Тобто функцію запускають 1000 - 10 000 разів. В такому разі різниця буде більш помітною.

$start = microtime(true);
        
   for ($i=0; $i < 1000; $i++) {
      // дуже коротку подію повторюємо значну кількість раз, записуючи її тут
   }     

echo 'Час виконання: '.(microtime(true) - $start).' сек.';

 

Цікаві спостереження

Все відносно, але в більшості випадків зробити 2 запити в одну таблицю в БД трохи швидше ніж зробити 2 аналогічні запити в 2 різних таблиці. Навіть якщо в них однаковий вміст.

Якщо при цьому зробити 1 запит в 1 таблицю, а потім за допомогою PHP перебрати 20 отриманих значень і розділити їх на 2 частини по якомусь параметру. То це виявилося ВДВІЧІ швидше за 2 запити.Принаймні для мого випадку було саме так.

Це мене вразило, не зважаючи на те, що я саме такого результату і очікував

 

Пишіть коментарях ваші результати і спостереження. Буде дуже цікаво зібрати колекцію подібних висновків. Творчих злетів!

Залітай у Твітер

Це ще що таке?

Я назвав цей сайт студією онлайн-творчості, тому що не вважаю свою діяльність роботою. Займаючись розробкою, я пізнаю нове, подорожую просторами мережі, знайомлюся з дивовижними людьми. Це життя.

Олександр Мойсеюк

Чому мене варто послухати?

Наразі за моїми плечима близько 6 тисяч годин задушевного спілкування з програмним кодом, документаціями, статтями і варіантами розмітки.

Олександр Мойсеюк

Також зараз під моїм наглядом або керівництвом активно розвиваються близько 7 проектів, серед яких студія розробки розширень і навчальних матеріалів для CMS Joomla. І просто досить знати, що я дуже люблю свою роботу:)

Читати у

Змінити мову на

Son of Sky - основний псевдонім Олександра Мойсеюка, неочевидне значення якого - "українець".

Згідно праць Олексія Братко-Кутинського, як зазначено в Олександра Середюка, монголо-татари після вторгнення на Київську Русь, почали називати місцевих "хохлами". Першопочатковий переклад цього слова:
"Неба син" (Кок (Небо), ол (син)), що у слов'янському звучанні - "хохол". Простий переклад на англійську: Son of the Sky

Синь неба - це схожа за звучанням назва для сайту.