본문 바로가기

TechLog

AutoReleasePool/Gabage Collector의 성능 비교

Objective-C에서 객체를 해제할 때 release를 사용하는 경우, autorelease를 사용하는 경우(달리 말하면, AutoReleasePool을 사용할 때), 가비지 컬렉션을 사용하는 경우 다음과 같은 성능 차이가 있다.

 

메모리 관리 방식 CPU 시간(sec)
레퍼런스 카운트(release) 0.973
레퍼런스 카운트(autorelease) 1.667
가비지 컬렉션 2.393

정확한 결과는 아니지만, 무작위로 객체를 생성/해제함으로써 메모리를 할당/해제하는 성능을 개략적으로 가늠해 볼 수 있다.

 

- 출처 : 詳解 Objective-C 2.0 [大型本], 荻原 剛志