Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как измерить время выполнения кода

Короткий ответ

Запомните показание таймера до и после кода:

<?php
 
$start = hrtime(true);
 
$sum = 0;
 
for ($i = 0; $i < 1_000_000; $i++) {
    $sum += $i;
}
 
echo round((hrtime(true) - $start) / 1e6, 2), ' ms';

Функция для замеров

Оберните замер в функцию, принимающую код:

<?php
 
function measure(callable $code): float
{
    $start = hrtime(true);
    $code();
 
    return (hrtime(true) - $start) / 1e6;
}
 
$ms = measure(fn () => array_sum(range(1, 100000)));
 
echo $ms < 1000 ? 'fast enough' : 'too slow';

Результат:

fast enough

Один замер ничего не значит

Время зависит от загрузки компьютера. Повторите код много раз и сравнивайте суммарное время — и только на одном и том же компьютере.

Функции из этого ответа

  • hrtime — Возвращает показание точного таймера в наносекундах.
  • microtime — Возвращает текущее время с точностью до микросекунд.
  • memory_get_usage — Возвращает объём памяти, занятый программой.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.