마이크로소프트 리서치가 수동 메모리 관리와 가비지 콜렉션(GC)와 통합하는 방법을 실험하고 있다. 프로젝트 스노우플레이크(SnowFlake)라는 이름의 이 실험은 개발자들에게 '두 마리 토끼'를 모두 잡을 수 있는 방안을 제시한다.
좀더 구체적으로는 자동화된 메모리 관리의 편리함과 안정성에 더해 수동으로 객체의 메모리 점유를 해제할 수 있도록 함으로써 성능을 높일 기회까지 제공한다는 것이다.
이번 시도는 마이크로소프트 리서치와 캠브리지 대학 및 프린스턴 대학 연구진이
공동 발행한 논문의 주제이기도 하다.
논문에 따르면 프로그래머들은 GC 힙(heap) 내에 객체를 할당하는 방안과 수동 힙 내에서 할당하는 방안 사이에서 원하는 대로 선택할 수 있다. 한편 GC 힙을 이용하는 기존 애플리케이션에 적용할 때 성능 부담이 발생하지 않는다고 연구진은 전했다.
연구진은 "실제 애플리케이션에서 대한 닷넷 코어CLR 도입 실험 결과에 따르면, 특히 멀티쓰레드 시나리오에서 상당한 성능 현상이 나타났다. 피크 작업 세트는 최대 3배 절감되고 런타임은 2배 개선됐다"라고 전했다. ciokr@idg.co.kr