跳转到页脚
首页 雷竞技是骗人的 编程系统 使用Nanoscope分析Android应用程序

使用Nanoscope分析Android应用程序

0

摘要

用户级工具支持分析现代jvm为桌面和服务器上的Java应用程序执行是相当成熟,从开放的JDK的Java飞行记录器启用低开销CPU和堆分析,通过第三方异步profiler(例如async-profiler、honest-profiler),打开JDK支持低开销跟踪分配调用网站。

另一方面,尽管语言执行环境之间的架构相似,但在Android上分析Java代码性能的工具支持却明显滞后。这类工具中最流行的,但实际上也是唯一的工具是Android Profiler,它提供有关CPU、Java堆和网络活动的进程级信息。它还提供对方法跟踪和抽样的支持。但是,前者的开销很高,而后者在提供更好的性能的同时,牺牲了精度。Android Profiler提供的信息可以用其他工具收集的数据进行扩充,特别是在操作系统级别收集数据的systrace。不出所料,第三方工具最近也开始出现,如Facebook的Profilo框架。然而,使用这些额外的工具需要使用多个工具链),可能需要一定的手动工作(例如,在一种特殊的方式建立应用程序,将分析框架API调用插入到应用程序),它是很必要的推断从数据收集有趣的信息(例如,因为只有公开可用的工具框架的一部分)。

在本文中,我们描述我们在毫微秒示波器的工作,一个开源的Android可扩展的工具,不仅适用于修改的应用程序和提供精确方法开销较低的痕迹,也旨在给程序员选择相关信息在同一框架来帮助他们开发一个直觉具体non-performant应用程序行为。这里的权衡是,Nanoscope需要一个定制的Android构建,因为它依赖于来自艺术的额外支持。在这篇论文中,我们将描述奈米镜的设计与实现,提供从该工具可获得的与性能相关的信息的例子,并讨论奈米镜相关的开销。

作者

Lun刘,利兰Takamine,亚当Welc

链接

2018年轰动

论文全文

“用Nanoscope分析Android应用程序”(PDF)

编程系统团队

评论
前一篇文章 基于可微分传感器融合的联合映射与标定
下一篇文章 更快的神经网络直接从JPEG
利兰Takamine
利兰是优步Android开发团队的高级软件工程师。
亚当Welc
Adam Welc是优步编程系统团队的高级工程师,他目前的工作是应用分析和性能调优,以及开发工具来改善开发者的体验。更一般地说,他的专业兴趣在编程语言设计、实现和工具领域,特别关注运行时系统和编译器优化。Adam在不同类型的虚拟机(ART, HotSpot JVM, AVM, ORP JVM, Jikes RVM, J9 JVM),编译器(GreenMarl, ASC, StarJIT),以及其他大型和复杂的框架和系统(ProGuard, D8, ReDex, Truffle框架,Intel C/ c++编译器的STM运行时)上有超过十年的工作经验。他拥有普渡大学计算机科学博士学位。