Logo image
Loop transformations in the ahead-of-time optimization of Java bytecode
Book chapter   Peer reviewed

Loop transformations in the ahead-of-time optimization of Java bytecode

S Hammond and David Lacey
Compiler Construction, pp.109-123
Lecture Notes in Computer Science (LNCS), 3923, Springer
2006
url
https://doi.org/10.1007/11688839_11View
Published Version

Abstract

Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used in a wide variety of compilers to improve the running time of applications. In this paper we present a series of experimental results detailing the effect these techniques have on the running time of Java applications following ahead of time optimization. We also detail the optimization tools and transformations developed for this paper which extend the SOOT framework discussed in a number of previous papers on the subject. Our experimentation, conducted on the SciMark 2.0 benchmarking suite, demonstrates that when optimized using the techniques mentioned, Java applications can benefit from performance improvements of up to 20%. Wo finish with a discussion of the results obtained, including results on how the optimizations affect JIT compilation and class size and proceed to argue that ahead-of-time loop unrolling and unfolding optimization may have a role to play in improving the performance of Java applications, particularly in scientific applications. © Springer-Verlag Heidelberg 2006.

Details

Metrics

406 Record Views
Logo image