이 코드를 고려하십시오 $store
는 크고 하나는 메모리 사용 (memory_get_peak_usage
)을 최적화하고자하는 경우, 그들이 $store . $afterStore
이후 $store
을 유지하는 데 필요한 메모리 배로 사용 여기 발견 할 것이다PHP : 메모리 최적화 연결?
$fullText = $beforeStore . $store . $afterStore;
하면 해당 크기의 다른 값 (또는 큰)뿐만 아니라 $beforeStore . $store . $afterStore
. 그래서 최적화하기 위해, 나는 memory_get_peak_usage
의 용어와 최종 상태 (memory_get_usage
)에 두 번 밖에 제공
$fullText = $beforeStore . $store;
unset($store);
$fullText = $fullText . $afterStore;
초기와 동일한 사용 (나는 unset
여기 $beforeStore
및 $afterStore
을 보내고 생략).
1 + n 줄의 코드를 작성하지 않고이 최적화 된 방식으로 연결하는 스마트 방법이 있습니까? 여기서 n은 연결된 문자열의 수입니까? (또는 연결된 각 줄을 해제하려는 경우 2n)
문자열을 연결하는 대신 값에 대한 참조 배열을 만들고이를 $ fullText 대신 사용할 수 있습니다. 실제로 모든 것을 담고있는 하나의 변수가 필요합니까? –
및 BTW,'unset'은 변수를 메모리에서 제거하지 않습니다. https://stackoverflow.com/a/584982/2595450 –
@ Al.G. 음,이 특별한 경우에 예,'$ fullText'가 파일에 저장됩니다. – YakovL