반응형
원문: Effective Scala - Garbage collection
우리는 운영 환경에서 가비지 컬렉션(GC) 튜닝에 많은 시간을 할애합니다. 가비지 컬렉션에 대한 우려는 대부분 자바와 유사하지만, 관용적인 스칼라 코드는 관용적인 자바 코드보다 더 많은(단기적인) 가비지를 생성하는 경향이 있습니다. 이는 함수형 스타일의 부산물입니다. 일반적으로 HotSpot의 세대별 가비지 컬렉션은 이러한 문제를 해결하며, 대부분의 경우 단기 가비지는 사실상 비용이 들지 않습니다.
GC 성능 문제를 이야기하기 전에, Attila가 GC 튜닝에 대한 우리(twitter)의 경험을 설명한 프레젠테이션을 시청하세요.
스칼라 자체에서 GC 문제를 완화하기 위한 유일한 도구는 가비지 생성을 줄이는 것입니다. 하지만 데이터로 확인되기 전까지 절대로 먼저 행동하지 마세요! 당신이 명백히 비정상적인 작업을 수행하는게 아니라면, 다양한 자바 프로파일링 도구를 사용해서 확인해보세요. 우리가 사용하는 도구로는 heapster와 gcprof가 있습니다.
반응형