Loop Transformations in the Ahead-of-Time Optimization of Java Bytecode

10 years 2 months ago
Loop Transformations in the Ahead-of-Time Optimization of Java Bytecode
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%. We 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 t...
Simon Hammond, David Lacey
Added 20 Aug 2010
Updated 20 Aug 2010
Type Conference
Year 2006
Where CC
Authors Simon Hammond, David Lacey
Comments (0)