Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

память выделяемая php

память выделяемая php

Всем привет. Сегодня мы рассмотрим функцию php с помощью которой можно отслеживать количество выделенной памяти под скрипт. Итак, поехали.

Для того чтобы определить сколько памяти выделяется на той или иной скрипт. Нам достаточно в самом конце скрипта вызвать функцию memory_get_usage().

$start = memory_get_usage();

$text = "Hello world!";

for($i=0;$i < 100;$i++){
    echo $text;
}

echo memory_get_usage()-$start;

На выходе я получил 152. То есть на выполнение данному скрипту было выделено 152 байта. Функция memory_get_usage() возвращает количество выделенной памяти в байтах.

Заметьте что в самом начале скрипта я занес первоначальный замер выделенной памяти в переменную $start, затем после выполнения скрипта избавился от него. Это сделано для того чтобы отсечь всю выделенную память до выполнения нашего скрипта.

$start = memory_get_usage();
$text = "Hello world!";
for($i=0;$i < 100;$i++){
    echo $text;
}
for($i=0;$i < 100;$i++){
    echo $text;
}

echo memory_get_usage()-$start;

Если я к примеру добавлю еще один цикл это никак не повлияет на ситуацию, так как размер выделенной памяти не изменится. Ну а если добавлю новую переменную

$start = memory_get_usage();

$text = "Hello world!";

$text2 = "Hello my friend!";

for($i=0;$i < 100;$i++){
    echo $text;
}

echo memory_get_usage()-$start;

как видите количество выделенной памяти стало больше. Тем самым мы можем определять сколько памяти было выделено под значения переменных, массивов, объектов и т.п.

$start = memory_get_usage();

$text = "Hello world!";

echo memory_get_usage()-$start;

echo '<br/>';

$array = [12,32,43,54,65,43,545,54,54,43];

echo memory_get_usage()-$start;

echo '<br/>';

$array2 = ["key"=>"value", "key2"=>"value2"];

echo memory_get_usage()-$start;

Исходя из этих данных мы можем грамотно распоряжаться памятью и строить более производительные алгоритмы. Так что возьмите себе на заметку.

На этом у меня все. Если появились вопросы, пишите их в комментариях или группе в вк.

Я с вами прощаюсь. Желаю успехов и удачи! Пока!

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm