안드로이드 응용의 응답 시간 향상을 위한 실행 시간 선행 컴파일 체계

A Runtime Precompile Framework for Improving the Response Times of Android Applications

초록

안드로이드 응용들의 응답 시간은 자바 가상 기계의 실행 방식에 의해 좌우된다. 자바 가상 기계의 실행 방식은 크게 바이트코드를 하나씩 인터프리팅하는 방식과 필요할 때마다 바이트코드를 CPU 고유 코드로 변환하여 실행하는 방식으로 나뉜다. 현재 안드로이드의 자바 가상 기계는 두 가지 방식을 혼합하여 실행 빈도가 높은 바이트코드만을 응용 실행 중에 CPU 코드로 변환하여 실행하는 방식을 사용한다. 그러나 이 방식은 응용 실행에 요구되는 바이트코드 대부분이 컴파일될 때까지 초기 응답 시간이 좋지 않다. 따라서 본 논문은 응용 별로 프로파일링 정보를 모아서, 해당 응용이 실행되기 전에 주요 바이트코드들을 미리 컴파일하는 AOT(Ahead-of-Time) 컴파일 체계를 제안한다. 본 논문이 제안하는 방식은 안드로이드 실행 파일의 구조를 변경하지 않는다는 점에서는 다른 AOT 방식들과 구별된다. 제안하는 체계상에서 테스트 응용을 평가한 결과, 약 15%의 응답 시간을 단축하는 결과를 얻었다.

키워드

android; JIT; AOT; precompile; Android; JIT; AOT; Precompile
제목
안드로이드 응용의 응답 시간 향상을 위한 실행 시간 선행 컴파일 체계
제목 (타언어)
A Runtime Precompile Framework for Improving the Response Times of Android Applications
저자
홍성길; 김강희
발행일
2014-01
저널명
정보과학회 컴퓨팅의 실제 논문지
권
20
호
1
페이지
6 ~ 10