欢迎来到天天文库
浏览记录
ID:50116918
大小:2.02 MB
页数:62页
时间:2020-03-06
《基于逃逸分析的android垃圾收集性能优化研究.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于逃逸分析的android垃圾收集性能优化研究张赫2015年1月中图分类号:TP316UDC分类号:004.45基于逃逸分析的android垃圾收集性能优化研究作者姓名:张赫学院名称:计算机学院指导教师:刘辉答辩委员会主席:樊孝忠申请学位:工学硕士学科专业:计算机科学与技术学位授予单位:北京理工大学论文答辩日期:2015年1月AndroidGarbageCollectionPerformanceOptimizationResearchBasedonEscapeAnalysisCandidateName
2、:ZhangHeSchoolorDepartment:SchoolofComputerScienceFacultyMentor:Prof.HuiLiuChair,ThesisCommittee:Prof.XiaozhongFanDegreeApplied:MasterofEngineeringMajor:ComputerScienceandTechnologyDegreeby:BeijingInstituteofTechnologyTheDateofDefence:Jan.2015研究成果声明本人郑重声
3、明:所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。特此申明。签名:日期:北京理工大学硕士学位论文摘要本文提出了一种简单有效的基于逃逸分析的应用于android系统的垃圾收集算法。随着移动终端的普及,移动操作系统的性能,特别是andro
4、id系统的性能,受到越来越多的关注,而垃圾收集是提升整体系统性能的瓶颈之一。逃逸分析是一种可以有效减少Java程序中的同步负载压力和内存堆分配压力数据流分析算法。本文通过应用逃逸分析于CyanogenMod系统判断对象是否逃逸出方法,从而避免对象的堆式分配,减少垃圾收集针对的对象,极大的减轻垃圾收集的压力,进而可以提升整体的性能。本文以传统的逃逸分析为框架,实现了一种控制流非敏感的,过程间的,上下文相关的全局数据流分析方法,即每一个对象动态归属于每一个栈帧,每一个栈帧有一个唯一编号,当方法(或者线程)所
5、属的栈帧退出时,对比其所属的栈帧号码与对象的唯一编号,从而确定对象是否逃逸出方法(或者线程)。我们更改了虚拟机系统的对象分配、方法返回、基本垃圾收集算法的结构来实现我们的算法。实验结果显示,通过这种结合逃逸分析的新的垃圾收集算法,可以使得不同的android应用在运行过程中的性能提升4%到24%,在超过60%的测试用例中,可以判定为非逃逸对象比例为20%,即可进行栈式分配的比例。除此之外,文中使用了一种简单有效的标记方法来使得垃圾收集过程中忽略这些可以进行栈式分配的对象,结果表明,垃圾收集所带来的暂停时
6、间减少了14%到56%。结果表明,应用逃逸分析可以有效地减少对象堆式分配的比例,从而减轻垃圾收集的压力来提高整体的系统性能。关键词:垃圾收集;安卓系统;逃逸分析;栈式分配;系统性能I北京理工大学硕士学位论文AbstractThispaperpresentsasimpleandeffectivemethodbasedonescapeanalysisforstackallocationtobeappliedingarbagecollectionofAndroidsystem.Withthepopulariz
7、ationofmobileterminal,mobileoperatingsystemperformance,especiallytheperformanceoftheAndroidoperationsystem,hasattractedmoreandmoreattention,andthegarbagecollectionisoneofthebottleneckofthewholesystemperformance.Escapeanalysisisakindofdataflowanalysisalgo
8、rithmthatcaneffectivelyreducesynchronizationloadpressureandheapallocatedpressureofJavaprogram.ThispaperanalyzesontheCyanogenModsystemtojudgewhethertheobjectcanbestackallocatedbytheapplication,soastoavoidheapallocatedobject
此文档下载收益归作者所有