더 빠르고 효율적인 새 안드로이드 런타임 ART

안드로이드 앱은 달빅(Dalvik)이라는 런타임 상에서 돌아간다. 이는 자바로 작성된 안드로이드 앱을 실행시켜주는 가상 머신이다. 수많은 다양한 칩셋과 하드웨어 상에서 동일한 앱이 돌아갈 수 있는 것은 바로 이 가상 머신 덕분이다. 자바로 짠 앱은 바이트코드로 컴파일되어 배포, 설치되고, 매번 앱이 실행될 때마다 달빅 가상 머신에서 JIT 컴파일러를 통해 실행 가능한 코드로 바뀌게 된다. ART(Android RunTime)는 구글이 새로 개발한 안드로이드 런타임으로, 킷캣에 포함되어 있다. 넥서스 5의 개발자 모드에서, 달빅 대신 ART를 런타임으로 선택할 수 있다. ART는 구글이 달빅을 대체하기 위해 완전히 새로 개발한 런타임으로, JIT 대신 AOT (Ahead Of Time)이라는 컴파일러를 사용해, 매번 앱 실행시가 아니라 앱을 설치할 때 실행 가능한 코드로 컴파일해 놓는다. 메모리를 더 차지하게 되지만, 대신 앱 구동이 빨라지고 더 부드럽게 돌아간다. 구글은 ART가 아직 안정화되지 않은 실험 버전이며, 달빅을 완전히 대체하기 전에 먼저 개발자와 제조사들로부터 피드백을 받기 원한다고 밝혔다. 벤치마크 결과는 ART 사용시 대부분 앱 구동시간이 절반으로 줄어들고, 멀티코어 프로세스를 효율적으로 사용해 소모전력도 적어지는 것으로 보인다.

tN insight: 구글에서 새로 개발한 ART는 안드로이드 4.4 킷캣 핵심 중 하나인 저사양 기기 (512MB 램) 지원과 일맥상통하는 점이 있다. HW 사양이 높은 기기에서는 앱 구동속도가 크게 문제되지 않지만, 저사양 모델에서는 이러한 개선이 눈에 띄게 큰 차이를 보일 수 있기 때문이다.

관련기사: ReadWrite, Engadget

Written by

LG전자 수석연구원으로, 실리콘밸리에서 주재원으로 일하다 귀국하여 지금은 모바일 SW 플랫폼 개발 업무를 맡고 있습니다. 관심분야는 주로 모바일 기기, 보안, 안드로이드, 구글 등입니다.

6 comments / Add your comment below

  1. Jeremy Park says:

    안녕하세요. 원문 기사에도 벤치마크 관련 상세한 내용은 없네요. 하지만 주변에 넥서스 5 가지고 계신 분이 ART로 바꿔서 사용해 보니 벤치마크에 의존할 필요도 없이 체감할 수 있는 성능 향상이 있다고 합니다.

  2. blob says:

    답글 감사합니다
    기사에 구동속도 절반과 전력 소모라고 구체적으로 언급되어 있길래
    구체적인 벤치가 있는 것 같아서 문의드렸습니다^^;;

  3. I HATE G.H.PARK says:

    아마 달빅 opcode보다 훨씬 많은 메모리를 요구할 것이라고 추측됩니다.
    성능에 굳이 불편함이 없으면
    모바일에서는 그다지…….

답글 남기기