Дата публикации
5 Сентября 2019
Дата изменения
24 Сентября 2019
Уникальных просмотров
152

Оглавление

Часто появляется необходимость проверить за сколько времени выполняется код и сколько памяти было им использовано.

Решение

Для реализации данной утилитки, мы воспользуемся двумя встроенными в PHP функциями:

Далее мы создадим свою функцию file_size, для перевода количества памяти в подходящие единицы измерения (для нашего удобства). В конце кода, еще раз вызываем функции, и вычием значение времени и памяти, которые мы получили в самом начале скрипта.

function file_size($size)
{
    $filesizename = array(
      ' Bytes', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB');
    return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) .$filesizename[$i] : '0 Bytes';
}
$mem_start = memory_get_usage();
$time_start = microtime(true);

Ваш PHP код

echo 'Время выполнения скрипта: '. round(microtime(true) - $time_start, 4) .' сек.'.'<br>';
echo 'Скрипт сожрал памяти: '. file_size(memory_get_usage() - $mem_start);

Таким образом, мы получим чистое время выполнения скрипта и количество памяти, которое использовал PHP.

Применение

Теперь, просто внутрь скрипта прописываем исполняемый код и запускаем.

function file_size($size)
{
    $filesizename = array(
      ' Bytes', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB');
    return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) .$filesizename[$i] : '0 Bytes';
}
$mem_start = memory_get_usage();
$time_start = microtime(true);

for ($i = 1; $i <= 10000; $i++) {
    $pls = array('param' =>$i, 'value' => rand());
    print_r($pls);
}

echo 'Время выполнения скрипта: '. round(microtime(true) - $time_start, 4) .' сек.'.'<br>';
echo 'Скрипт сожрал памяти: '. file_size(memory_get_usage() - $mem_start);

Результат будет примерно таким:

Логирование затрат на исполнение кода - пример

Благодарность автору

Если по какой-либо причине вы хотите поблагодарить автора данного ресурса, вы можете это сделать одним из удобных для вас способов ниже.

Один из самых популярных способов поблагодарить автора, воспользоваться сервисом Яндекс.Деньги.

Время работы: 0,1249 s
Время запросов: 0,1249 s
Количество запросов: 32
Источник: database