Browse > Article
http://dx.doi.org/10.9728/dcs.2011.12.4.551

Stack Allocation-based Memory Performance Improvement Technique on Android 2.3 Dalvik Virtual Machine  

Lim, Yeong-Kyu (연세대학교 컴퓨터과학과)
Kim, Cheong-Ghil (남서울대학교 컴퓨터학과)
Kim, Shin-Dug (연세대학교 컴퓨터과학과)
Publication Information
Journal of Digital Contents Society / v.12, no.4, 2011 , pp. 551-557 More about this Journal
Abstract
In this paper, we propose a stack allocation technique of Android Java objects in order to reduce the number of garbage collection which is one of major reason on Android performance degradation when running applications. The proposed technique is to allocate Java objects into stack rather than heap memory. To do so, stacked objects could escape the garbage collection process. We experiment the proposed technique in the latest Android 2.3 version. For the simulation, we take advantage of the well known Java benchmark, Caffeinemark, and our own. The result shows the performance degradation of Dalvik Virtual Machine execution time caused by the stack allocation of Java objects is very slight and the proposed method considerably reduces the frequency of garbage collection. This will increase application performance and give better user interfaces to Android phone users.
Keywords
Android; Garbage Collection; Stack Allocation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 http://news.cnet.com/8301-13506_3-20051610-17.html
2 Dalvik Virtual Machine. http://www.dalvikvm.com.
3 Technical Report, "Analysis of Dalvik Virtual Machine and Class Path Library," http://imsciences.edu.pk/serg/wp-content/uploads/2009/07/Analysis-of-Dalvik-VM.pdf.
4 Escapee Analysis, http://www.java2s.com/Open-Source/Android/android-core/platform-dalvik/com/android/dx/ssa/EscapeAnalysis.java.java-doc.htm
5 Jong-Deok Choi, Manish Gupta, Mauricio Serrano, Vugranam C. Sreedhar and Sam Midkiff, "Escape Analysis on Java," ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications(OOPSLA99). Denver, Colorado, November 1, 1999 pp. 1-19.
6 David Gay and Bjarne Steensgaard, "Stack allocating objects in Java," Research Report, Microsoft Research, 1999.
7 Dan Bornstein, "Dalvik virtual machine: internals,"http://sites.google.com/site/io/dalvik-vm-internals/2008-05-29-Presentation-Of-Dalvik-VM-Internals.pdf".
8 Caffeinemark: http://www.benchmarkhq.ru/cm30