1999 IEEE International Conference on Computer Design (ICCD'99)
Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code Levels
Austin, Texas
October 10-October 13
ISBN: 0-7695-0406-X
This paper identifies some of the most important execution characteristics of a recent suite of Java benchmarks (SPEC JVM98) from a bytecode perspective and while running in an interpreted environment on the Sun Ultra SPARC-II. We instrumented the Java Virtual Machine (JVM) to obtain detailed traces and developed a Java bytecode analyzer environment called JABA to characterize the applications at the bytecode level. Utilizing JABA and SPARC profiling tools, we analyze bytecode locality, instruction mix and dynamic method sizes. It is observed that less than 45 out of the 250 Java bytecodes constitute 90% of the bytecode stream. A tri-nodal distribution with peaks of 1, 10 and 27 bytecodes is observed for method size across all benchmarks in the JVM98 suite. For most of the applications one bytecode is seen to translate into approximately 25 SPARC instructions.
Index Terms:
Java, Performance Analysis, bytecode, benchmarking
Citation:
Ramesh Radhakrishnan, Juan Rubio, Lizy Kurian John, "Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code Levels," iccd, pp.281, 1999 IEEE International Conference on Computer Design (ICCD'99), 1999