Affiliation:
1. COMPUTER SCIENCE DEPARTMENT, RICE UNIVERSITY, HOUSTON TX 77005,
2. COMPUTER SCIENCE DEPARTMENT, RICE UNIVERSITY, HOUSTON TX 77005
Abstract
Java is a high productivity object-oriented programming language that is rapidly gaining popularity in high-performance application development. One major obstacle to its broad acceptance is its mediocre performance when compared with Fortran or C, especially if the developers use object-oriented features of the language extensively. Previous work in improving the performance of object-oriented, high-performance, scientific Java applications consisted of high level compiler optimization and analysis strategies, such as class specialization and object inlining. This paper extends prior work on object inlining by improving the analysis and developing new code transformation techniques to further improve the performance of high performance applications written in high-productivity, object-oriented style. Two major impediments to effective object inlining are object and array aliasing and binary method invocations. This paper implements object and array alias strategies to address the aliasing problem while utilizing an idea from Telescoping Languages to address the binary method invocation problem. Application runtime gains of up to 20% result from employing these techniques. These improvements should further increase the scientific community's acceptance of the Java programming language in the development of high-performance, high-productivity, scientific applications.
Subject
Hardware and Architecture,Theoretical Computer Science,Software
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献