- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
冗余数组边界检与对象内联优化
摘要
摘要
Java是一门应用很广的流行语言。它有良好跨平台性和优秀的安全性等优
点。但是同时运行速度低下一直成为它不足。本文试图从两个方面入手针对Java
运行时性能进行调优。一方面是Java语言的异常安全机制。作为一个类型安全
程序语言,Java要求对每次数组访问提供边界检查。这些检查指令减慢了Java
程序的运行速度。算法ABCE在编译时维护并不断更新数组访问相关变量的取值
信息,然后根据这些信息识别出那些冗余的数组边界检查,最后删除它们,从而
达到提高程序性能的目的。另一方面是Java语言的面向对象特性。Java是一门
面向对象语言。但是面向对象语言将引起数据在内存中分散分布,导致内存的局
部性变差和程序解引用操作的增多,后果就是程序运行时性能退化。本文提供的
对象内联优化将分析程序中的数据关系,并把符合条件的数据分配到内存的连续
空间中,有效地缓解了性能退化。
冗余数组边界检查消除和对象内联优化实现在基于开源open64平台的Java
了76%的边界检查指令,其中LU子程序,该算法的加速近似达到理论最大值。
对象内联优化的测试实验也表明,它能有效提高面向对象语言的运行时性能。
关键字:Java、静态编译器、数组边界检查消除、对象内联、优化、性能
4/59
Abstract
Abstract
Javaisa used is forits
famous
widelyprogramlanguage.It goodacross-platform
andexcellent the ofJava is this
safety,but
performanceprogramrelativelypoor.In
todescribeourworkof two theone
try
paper,we performancetuning‘inways.In
isan
hand,Java a
exceptionsafetylanguage.As program
type-safe language,Java
boundschecksof accesses.Thesechecksslowdownthe ofJava
requires array speed
ABCEbuildsan whichcontainsconditions
programs.TheAlgorithm inequalitygraph
ofindex andremovestheredundantboundschecks to
expressions array according
theconditionsinthe theother isan
inequalitygraph.On hand,Javaobject-oriented
therelateddataof isallocatedto
language.And
文档评论(0)