1
PHP 에서처럼 하나의 정수를 저장하는 데 약 213 바이트가 필요합니다. 사실입니까? 좋아, 다음 코드에서 살펴 보시기 바랍니다 :PHP 메모리 사용량
$N = 10000;
echo memory_get_usage()."\n";
$v = array();
for($i = 0; $i < $N; $i++) {
$v[] = $i;
}
echo memory_get_usage()."\n";
unset($v);
echo memory_get_usage()."\n";
출력은 다음과 같습니다
641784
2773768
642056
그래서, 차이는 2773768입니다 - 641,784 = 2,131,984 바이트, 또는 정수 당 213 바이트. 왜 그렇게 많은가요? 4 바이트가 충분합니다.
정수 값에 대한 4 바이트가 32 비트 PHP에 적합하다는 것을 기억하십시오. 64 비트를 사용하는 경우 8 바이트입니다. –
또한 zval 구조체를 포함하고 있으며, 배열에 포함 된 값을 매핑하는 것과 관련된 해시 맵에도 메모리 오버 헤드가 있습니다 –