Я знаю, этот вопрос, возможно, задавали несколько раз раньше, но я прочитал все похожие вопросы здесь и все ответы и до сих пор не понимаю. Итак, у меня есть одно объявление переменной в моем скрипте:Сколько памяти требуется переменная с значением int в PHP?
$a = 255;
Сколько памяти потребуется этой переменной? Я прочитал this excellent article, в котором объясняется, сколько памяти будет выделено для внутренних структур PHP (например, _zval_struct
, _zval_gc_info
, _zend_mm_block_info
). Результат: 48
байт. Но на моей машине я получаю 168
байт. Откуда они? Я получаю этот номер, вызывая memory_get_usage()
до и после объявления.
Я бегу PHP 5.5.18 (64-разрядная версия) на Mac OS X.
Спасибо заранее.
32-разрядный PHP или 64-разрядный PHP? Но 28 байтов для 32-битных и 56 байтов для 64-битного PHP –
http://stackoverflow.com/questions/5972170/what-is-the-overhead-of-using-php-int –
Обратите внимание, что память PHP не выделена в байтах, но в блоках, так что вы вряд ли получите точную цифру просто путем измерения использования памяти до и после назначения –