티스토리 뷰

 우선 제목부터 태클을 걸고 싶은 분들이 계실 것이다. 스마트폰을 가지고 뭐든 할 수는 있겠지만 스마트디바이스에서 갑자기 웬 예술을 논하는지 말이다. 하지만 걱정마시길. 여기서 말하는 ART는 예술이 아니다.



ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,


DALVIK


 그동안 안드로이드 플랫폼에서 앱을 실행하는 기반이 되었던 건 DALVIK[각주:1]이었다. 안드로이드에서 돌아가는 애플리케이션들은 미리 기계어로 전부 번역되어 바로 실행하는 컴파일러 방식이 아니라 Java 언어로 만들어져 이를 중간 코드로 저장해 뒀다가 필요할 때 한줄 한줄 번역해서 실행하는 인터프리터 방식으로 구동되었다.


 이때 하드웨어와 프로그램 사이에 자리잡고 실행을 담당하는 존재가 바로 DALVIK이라고 이름이 붙은 VM(Virtual Machine)이다. 즉, 이론적인 차원에서는 하드웨어는 달라지더라도 VM인 DALVIK만 잘 만들어져 있다면 안드로이드 애플리케이션들은 얼마든지 잘 실행될 수 있는 것이다[각주:2].


 하지만 그럼에도 불구하고 실행 속도와 성능 측면에서는 컴파일러 방식에 비해 손해를 보는 것이 사실이다. 이를 보완하기 위해 안드로이드 2.2 프로요부터는 실행할 때 아예 중간 코드를 컴파일해버리는 JIT(Just In Time) 컴파일러가 도입되었지만 그 과정에서 부하가 걸리는데다가 그 결과물 또한 완전한 컴파일 방식보다는 느리다는 문제는 여전히 남아있었다. 


 이로 인해 경쟁 플랫폼이랄 수 있는 iOS에 비해 안드로이드 단말기들은 상대적으로 더 느린 성능을 보여주게 되었고 이는 더 빠른 프로세서와 더 많은 RAM을 필요로 하는 상황을 만들었다.


ART의 탄생


 여기서의 ART는 Android RunTime의 약자다. DALVIK과 같은 VM과는 전혀 다른 ART는 실행 전에 미리 앱을 컴파일해 두는 방식[각주:3]이다. 


 이는 JIT에 비해 실행 시의 속도와 부담을 줄일 수 있으며 앱의 실행 코드 최적화 면에서도 나아질 수 있는 방법이다. 앱 실행시 RAM 사용량을 줄이는 방안이기도 하다. ART의 채용은 그동안 VM 방식에 기인한 느린 속도와 오버헤드로 인한 플랫폼으로서의 안드로이드가 가진 경쟁력의 문제를 해결하는 한 수인 셈이다.


 ART는 이미 안드로이드 4.4 킷캣에 개발자 모드로 일부 기기에 들어갔으며 이번에 나온 안드로이드 5.0 롤리팝에는 DALVIK을 대체하여 정식으로 탑재되었다. 실제로 가지고 있는 단말기를 안드로이드 5.0으로 업그레이드를 하게 되면 이미 탑재된 앱에 대한 사전 컴파일 시간을 기다려줘야 한다.


ART를 담고 달라진 점은?

ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 긴 사전 컴파일 시간을 기다린 후 처음 만져보는 갤럭시 S5의 안드로이드 5.0에서 먼저 느껴지는 점은 전반적으로 앱의 실행 및 전환 속도가 예전보다 빨라졌다는 점일 것이다. 


 글쓴이 뿐만 아니라 적지 않은은 이들이 이번 롤리팝으로 넘어오면서 전보다 조작 및 실행에 있어서 쾌적한 느낌을 받고 있다고 이야기하고 있으며 이는 실행 전에 앱을 이미 컴파일해두었다는 점과 함께 전반적인 RAM 사용량이 줄어들었기 때문이기도 하다.


 특히 성능 측면에서의 향상을 수치화해서 보여주는 몇몇 벤치마크 프로그램을 통해 살펴보자.


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

우선 종합 벤치마크 프로그램인 AnTuTu로 먼저 살펴보도록 하자.


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 당연한 이야기지만 앱 실행 성능을 측정하는 달빅 부문에서 대폭적인 점수 증가가 보인다. 3000점 이상의 차이가 나는데 약 7.4%의 향상이 있었던 셈이다.


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 프로세서의 성능을 중점적으로 살펴보는 Geekbench로 살펴봤다.


 싱글코어의 경우 약 4.9%, 멀티코어의 경우에는 12.2%의 향상이 있었다. 이는 긱벤치의 특성상 ART 도입에 따른 긱벤치 애플리케이션 자체의 최적화에 따른 결과값이 아닐까 생각한다.


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

GPU 성능을 살펴보는 3DMark로 살펴봤다. 위의 결과값은 4.4.2 상태에서 잰 것이고


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 이것은 안드로이드 5.0으로 업그레이드한 상태에서 잰 값이다. 


 GPU 성능을 측정하는 그래픽 부문도 조금씩 값이 올랐지만 AP 성능을 보여주는 Physics 부문에서는 대폭 향상된 결과를 보여준다. 전체 점수에서는 약 6.8% 높아졌다.


 이처럼 갤럭시 S5의 롤리팝 업그레이드는 그 안에 들어간 ART의 성능 덕분에 여러 모로 나아진 모습을 보여주는 것을 알 수 있다[각주:4].


 하지만 세상 일이 다 그렇듯 ART의 특성 덕분에 예전보다 나빠진 부분도 있다. 우선 이전 버전에서 잘 돌던 앱이라도 간혹 안 도는 경우가 있다는 점이다[각주:5]. 다만 이는 안드로이드 5.0 탑재 단말기 전체의 문제이므로 시간이 지나면 해결될 것으로 보인다.


그리고 두번째는 저장공간의 손해다.


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

바로 애플리케이션의 저장 공간이 늘어났다는 점. 위는 구글 지도,


ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 그리고 유튜브다. 둘 다 대폭 앱이 차지하는 저장소 공간이 늘어난 것을 알 수 있다. 이는 미리 컴파일해서 그 결과 코드를 메모리에 저장시켜 놓기 때문. 



ART, Lolipop, 안드로이드 롤리팝, 아트 달빅 차이, 롤리팝 아트, 롤리팝 ART, DALVIK, dalvik art, 삼성, 삼성전자, 갤럭시S5 롤리팝, 갤럭시S5 롤리팝 바뀐점, 달빅 아트 차이, 달빅 아트 다른점,

 자, 정리해보자. 이번 안드로이드 5.0에서 ART의 도입은 앱 환경에 있어서 새로운 세계를 맞이한다고 봐도 좋을 듯 하다. 여러분도 여러 모로 좋아진 안드로이드 5.0이 가진 ART의 세계를 갤럭시 S5로 마음껏 만끽하시길 바란다.





  1. 아이슬란드의 한 도시 이름에서 유래했다고 한다. [본문으로]
  2. 실제로는 여러가지 문제로 인해 하드웨어 차이로 생기는 앱 호환성 문제가 없지는 않다. 대표적인 문제가 인텔 프로세서에서 돌아가는 안드로이드 플랫폼에서의 호환성 문제. [본문으로]
  3. AOT(Ahead Of Time)이라고 한다. [본문으로]
  4. 배터리 성능도 좋아질 수 있다고는 하지만 글쓴이의 테스트로는 유의미한 차이가 보이지 않아 기회가 되면 다시 살펴보도록 하겠다. [본문으로]
  5. 글쓴이의 단말기에서는 페이스북 앱이 안 돌고 있다. -_- [본문으로]