Всем привет. Сегодня мы рассмотрим функцию 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;
Исходя из этих данных мы можем грамотно распоряжаться памятью и строить более производительные алгоритмы. Так что возьмите себе на заметку.
На этом у меня все. Если появились вопросы, пишите их в комментариях или группе в вк.
Я с вами прощаюсь. Желаю успехов и удачи! Пока!