배열이 메모리에 얼마나 많은 바이트로 할당되어 있는지 알고 싶습니다.PHP에서 배열에 대한 메모리 할당을 반환하려면 어떻게해야합니까?
$array = range(0,1000000000);
echo count($array); // returns number of rows in array (1B);
echo sizeof($array); // alias of count();
이 작품을 어떻게 만들 수 있습니까?
echo memory_allocated_to_array($array);
여기 memory_get_usage()
에 기초한 추측 :
$start_bytes = memory_get_usage();
$array = range(0,1000000000);
$end_bytes = memory_get_usage();
$array_bytes = ($end_bytes - $start_bytes);
echo $array_bytes;
하지만 여러 프로세스 (자체 메모리 요구 사항 각)를 실행하는 경우이 매우 부정확 생각한다.
를 지금까지 내가 그 가장 정확한 방법입니다 알고 있어요로서, 같은 일을 요구하는 다른 스레드가 대답 한 현재 사용중인 방법으로 –
정확하지 않습니다. mem_get_usage는 다른 PHP 인스턴스에 대해보고하지 않습니다. 함수가 호출 된 특정 프로세스/스크립트 만 호출합니다. –
GC에 대해 이와 같은 검사를합니까? – Flosculus