Рубрики
Uncategorized

PHP, чтобы увидеть переменную кода экземпляра памяти

Автор оригинала: David Wong.

пример:

Версия PHP-7.2

php
echo memory_get_usage() , '
'; $start = memory_get_usage(); $a = Array(); for ($i=0; $i<1000; $i++) { $a[$i] = $i + $i; } $mid = memory_get_usage(); echo memory_get_usage() , '
'; for ($i=1000; $i<2000; $i++) { $a[$i] = $i + $i; } $end = memory_get_usage(); echo memory_get_usage() , '
'; echo 'argv:', ($mid - $start)/1000 ,'bytes' , '
'; echo 'argv:',($end - $mid)/1000 ,'bytes' , '
'; echo 'Memory:', ($mid - $start)/1024 ,'k' , '
'; echo 'Memory:',($end - $mid)/1024 ,'k' , '
'; The output is: 389336 418056 442632 argv:28.72bytes argv:24.576bytes Memory:28.046875k Memory:24k

Возвращает объем памяти, выделенный в данный момент вашему PHP-скрипту, в байтах.

Около 1000 элементов целочисленного массива должны занимать 28 Кб памяти, каждый элемент занимает в среднем 28 байт

memory_ get_ Результаты, возвращаемые usage (), не все заняты массивами, но также включают некоторые PHP

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

';
echo 'Memory:', ($mid - $start)/1024 ,'k' , '
'; $b = array_fill(0, 10000, 1); $end = memory_get_usage(); //10k elements array; echo 'argv:', ($end - $mid)/10000 ,'byte' , '
'; echo 'Memory:',($end - $mid)/1024 ,'k' , '
'; The results are as follows argv:54.5792byte argv:54.5784byte argv:39.736byte Memory:388.046875k argv:39.736byte Memory:388.046875k

Подсчитано, что целочисленный массив из 10000 элементов занимает 388 кб памяти. Из этого результата следует, что элемент массива занимает около 39 байт.

Дополнение к содержанию :

Как получить размер памяти переменная в PHP

$start_memory = memory_get_usage();
$foo = "Some variable";
echo memory_get_usage() - $start_memory;

Это позволяет получить размер всех типов переменных

Strlen ($foo) это позволяет получить размер текущей строки в байтах, разделенный на 8, что соответствует размеру бита

До сих пор эта статья о PHP для просмотра памяти, занятой кодом экземпляра переменной, представлена здесь. Для получения дополнительной информации о PHP, как просмотреть память, занимаемую переменной, пожалуйста, найдите предыдущие статьи разработчика или продолжайте просматривать следующие связанные статьи. Я надеюсь, что вы сможете больше поддерживать разработчика в будущем!