Optimizing NET Compilers for Improved Java Performance

Because they are interpreted, Java executables run slower than their compiled counterparts. The native executable translation (NET) compiler's objective is to optimize the translation of Java byte-code to native machine code so that it runs nearly as fast as native code generated directly from a source. The article presents some preliminary results for several large application programs and standard benchmarks. It compares the NET-compiled code performance with Sun's Java VM, Microsoft's Java just-in-time compiler, and equivalent C and C++ programs directly compiled. The results show that the optimizing NET compiler is capable of achieving better performance than the two other byte-code execution methods, in some cases achieving speeds comparable to directly compiled native code.

[1]  Roger A. Bringmann Enhancing instruction level parallelism through compiler-controlled speculation , 1995 .

[2]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[3]  John C. Gyllenhaal,et al.  Java bytecode to native code translation: the Caffeine prototype and preliminary results , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[4]  Ken Arnold,et al.  The Java programming language (2nd ed.) , 1998 .

[5]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[6]  Wen-mei W. Hwu,et al.  IMPACT: an architectural framework for multiple-instruction-issue processors , 1991, [1991] Proceedings. The 18th Annual International Symposium on Computer Architecture.

[7]  Guy L. Steele,et al.  The Java Language Specification , 1996 .