memory_get_usage()
는 프로그램의 변수와 이러한 변수의 내부 저장을 저장하기 위해 PHP에서 사용하는 메모리 양을 반환합니다.
memory_get_usage()
에서 반환 된 값과 스크립트에서 처리 한 실제 값을 저장하는 데 사용 된 메모리 양 사이에는 직접적인 연결이 없습니다.
PHP 변수에는 유형이 없기 때문에 각 변수는 모든 유형의 값을 저장할 수있는 데이터 구조를 사용합니다. 즉, bool
값의 1 비트 페이로드에 대해서도 PHP는 많은 메모리 (측정 한 168 바이트)를 사용합니다.
배열은 배열, 해시 및 이중 연결 목록의 구조와 기능을 혼합하는 복합 형식이기 때문에 값이 배열의 일부일 때 더 커집니다. 이러한 서로 다른 데이터 구조의 기능을 제공하기 위해 배열 유형은 저장하는 객체간에 링크를 유지하며 이러한 링크는 메모리를 사용합니다.
PHP 7은이 방법을 알고 싶다면, 그것의 데이터가 내부적으로, 평균, 그것은 5
그러나 PHP에서 사용하는 메모리의 약 절반에 사용되는 메모리의 양을 감소 저장하는 방식을 변경 바이트 수는 (가능한 값, FE의 범위를 알 수있는 순서) 실제 부동 소수점 값을 저장하는데 사용되는 상기 정보를 사용할 수있는 documentation page of the float type :
float
의 크기가되지만, 플랫폼에 의존 대략 14 자리 10 진수의 정밀도로 ~ 1.8e308의 최대 값은 일반적인 값 (64 비트 IEEE 형식)입니다. 내가 가정
"는 플랫폼 의존"는 32 비트 플랫폼에서 4 바이트 (float
위한 전통적인 크기) 및 64 비트에서 8 바이트 큰 플랫폼 (전통적인 double
)를 사용하는 것을 의미한다.
고맙습니다. PHP5 전용 라이브러리를 사용하는 것은 부끄러운 일입니다. PHP7을 사용하여 프로세스를 시도했지만 속도가 훨씬 빠릅니다. 불행히도 PHP5를 수용해야합니다. 다시 한 번 감사드립니다! :) – MemoNick