Improving object inlining for high-performance Java scientific applications
Kennedy, Ken; Budimlic, Zoran
Master of Science
Java is a popular programming language that enables many developers to achieve high productivity. Previous work in Java improved runtime performance by using object inlining. This thesis extends prior object inlining work by both analyzing the code and performing optimizations to further improve application runtime performance. Two impediments to object inlining and to increased runtime performance are object and array aliasing and binary method invocations. This thesis 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. The improvements made to the compile-time object inlining optimization should increase the scientific community's acceptance of the Java programming language in the development of high-performance scientific applications by decreasing the performance.