DroidPerf: Profiling Memory Objects on Android Devices

DroidPerf: Profiling Memory Objects on Android Devices
复制标题

DroidPerf:分析 Android 设备上的内存对象

DOI:
10.1145/3570361.3592503
复制
发表时间:
2023
期刊:
ACM
影响因子:
--
通讯作者:
Liu, Xu
Liu, Xu
中科院分区:
--
文献类型:
--
作者:
Li, Bolun;Zhao, Qidong;Jiao, Shuyin;Liu, Xu

文献摘要

参考文献

被引文献

相似文献

在内存层次结构中优化效率低下的性能对于本地语言(如C和c++)来说是众所周知的。然而,很少有研究探索Android运行时(ART)中的内存效率低下。在ART中运行的托管语言(如Java和Kotlin)采用了各种抽象,例如运行时支持、提前(AOT)编译和垃圾收集(GC),这些抽象对普通源代码隐藏了重要的执行细节。在本文中,我们开发了DroidPerf,轻量级的,以对象为中心的ART内存分析器,它将内存效率低下与Android应用程序中创建和使用的对象联系起来。有了这样的对象级信息,DroidPerf能够指导内存布局、访问模式和分配模式的局部性优化。在DroidPerf的指导下,我们优化了许多流行的Android应用程序,并获得了显著的性能提升。代码作者确认了许多效率低下的地方,并且正在对优化补丁进行评估。作为一个实用工具,DroidPerf平均会产生32%的运行时开销和14%的内存开销。此外,DroidPerf可以在生产环境中使用现成的硬件、操作系统、Dalvik虚拟机、ART和未经修改的Android应用程序源代码。
Optimizing performance inefficiencies in memory hierarchies is well-known for native languages, such as C and C++. There are few studies, however, on exploring memory inefficiencies in Android Runtime (ART). Running in ART, managed languages, such as Java and Kotlin, employ various abstractions, such as runtime support, ahead-of-time (AOT) compilation, and garbage collection (GC), which hide important execution details from the plain source code.In this paper, we develop DroidPerf, alightweight, object-centricmemory profiler for ART, which associates memory inefficiencies with objects created and used in Android apps. With such object-level information, DroidPerf is able to guide locality optimization on memory layouts, access patterns, and allocation patterns. Guided by DroidPerf, we optimize a number of popular Android apps and obtain significant performance gains. Many inefficiencies are confirmed by the code authors and optimization patches are under evaluation for upstreaming. As a practical tool, DroidPerf incurs ~32% runtime overhead and ~14% memory overhead on average. Furthermore, DroidPerf works in the production environment with off-the-shelf hardware, OS, Dalvik virtual machine, ART, and unmodified Android app source code.
DOI: 10.1145/3369740.3369796
发表时间: 2020-01
期刊: Proceedings of the 21st International Conference on Distributed Computing and Networking
影响因子: --
作者:
Sakil Barbhuiya;P. Kilpatrick;Dimitrios S. Nikolopoulos
通讯作者: Sakil Barbhuiya;P. Kilpatrick;Dimitrios S. Nikolopoulos
DOI: 10.1145/1814433.1814458
发表时间: 2010-06
期刊: --
影响因子: --
作者:
M. Ficek;T. Pop;Petr Vlácil;K. Dufková;L. Kencl;Martin Tomek
通讯作者: M. Ficek;T. Pop;Petr Vlácil;K. Dufková;L. Kencl;Martin Tomek
ART 虚拟机上低开销且高效的 Java 对象分析器
DOI: --
发表时间: 2018
影响因子: 2
作者:
Fei Wang;Xiaohua Shi;Xinghai Lu
通讯作者: Xinghai Lu
Android 设备上的轻量级能量分析方法
DOI: --
发表时间: 2015
期刊: International Congress of Mathematicans
影响因子: --
作者:
Peixing Yang;Di Zhou
通讯作者: Di Zhou
使用NDK加速android应用程序的方法
DOI: --
发表时间: 2011
期刊: International Conference on Awareness Science and Technology
影响因子: --
作者:
Ki;Jong
通讯作者: Jong