JVM Client98 Help Benchmark Information



This is a simple program to test various features of the JVM to ensure that it provides a suitable environment for Java programs. This includes:

  • Array indexing beyond its bounds
  • Creates a super class and its sub class and then accesses public, private and protected variables and over-ridden methods.
  • Checks if the JVM makes unwarranted assumptions about non-final methods. There is a class and a sub-class, which implement a method differently so if the JVM uses the implementation in the super-class, you get the wrong result.
  • A suite of tests called PepTest where a set of tests is executed to test the following aspects: if-then-else execution, array operations, bitwise operators, for loops, division, etc.
Time This programs time is NOT used in any of the performance metrics. However, the program output must be validated correctly for performance metrics to be generated.
Author Ole Agesen
Affiliation Sun Microsystems
URL http://self.smli.com/
Version PepTest 23.10



Modified Lempel-Ziv method (LZW). Basically finds common substrings and replaces them with a variable size code. This is deterministic, and can be done on the fly. Thus, the decompression procedure needs no input table, but tracks the way the table was built. Algorithm from "A Technique for High Performance Data Compression", Terry A. Welch, IEEE Computer Vol 17, No 6 (June 1984), pp 8-19.

This is a Java port of the 129.compress benchmark from CPU95, but improves upon that benchmark in that it compresses real data from files instead of synthetically generated data as in 129.compress.

Time (Run time on the reference machine, a 133MHz PPC 604.) 1175 seconds
Scaled Makes several passes through the same input data
Gc Runs with 20MB heap. Allocates 334MB of objects.
Author Original: Spencer W. Thomas, Jim McKie, Steve Davies, Ken Turkowski, James A. Woods, Joe Orost; CINT95 Revision: Jeff Reilly, Intel; Java Port: Kaivalya M. Dixit, Don McCauley, IBM
Affiliation various



JESS is the Java Expert Shell System is based on NASA's CLIPS expert shell system. In simplest terms, an expert shell system continuously applies a set of if-then statements, called rules, to a set of data, called the fact list. The benchmark workload solves a set of puzzles commonly used with CLIPS. To increase run time the benchmark problem iteratively asserts a new set of facts representing the same puzzle but with different literals. The older sets of facts are not retracted. Thus the inference engine must search through progressively larger rule sets as execution proceeds.

See also, the CLIPS web site (NASA Johnson Space Center)

Time 380 seconds
Scaled Problem size
Gc Runs with 2MB heap. Allocates 748MB of objects.
Author Ernest Friedman-Hill
Affiliation Sandia National Laboratories
URL http://herzberg.ca.sandia.gov/jess/
Version 3.2



Performs multiple database functions on memory resident database. reads in a 1 MB file which contains records with names, addresses and phone numbers of entities and a 19KB file called scr6 which contains a stream of operations to perform on the records in the file. The program loops and reads commands till it hits the `q' command. The commands performed on the file include, among others:

  • add an address
  • delete and address
  • find an address
  • sort addresses
Time 505 seconds
Scaled Problem size
Gc Runs with 16MB heap. Allocates 224MB of objects.
Author Randy Heisch
Affiliation IBM
URL http://www.ibm.com



This is the Java compiler from the JDK 1.0.2. As this is a commercial application, no source code is provided.

Time 425 seconds.
Scaled Multiple copies of the input source files are made.
Gc Runs with 12MB heap. Allocates 518MB of objects.
Author Arthur van Hoff, David Connelly
Affiliation Sun Microsystems
URL http://java.sun.com
Version 1.0.2



[Fraunhofer IIS Logo] This is an application that decompresses audio files that conform to the ISO MPEG Layer-3 audio specification. As this is a commercial application only obfuscated class files are available. The workload consists of about 4MB of audio data.

In the field of high quality low bit-rate audio coding, Fraunhofer IIS is one of the leaders among the international research labs. Fraunhofer IIS has been the main developer of the most advanced audio coding schemes, like MPEG Layer-3 and MPEG-2 AAC (Advanced Audio Coding). Fraunhofer IIS plays a major role in the ongoing work for the MPEG-4 standardization process and contributes to many other standards bodies as well, like ITU-R TG10/4, ITU-R WP10C, AES, MPEG-4 Intellectual Property Management & Protection, and others.

Time 1100 seconds.
Scaled Problem size
Gc Insignificant amount of garbage collection.
Author Multimedia Software Team
Affiliation Fraunhofer Institut fuer Integrierte Schaltungen
URL http://www.iis.fhg.de/audio



This is a variant of _205_raytrace, a raytracer that works on a scene depicting a dinosaur, where two threads each renders the scene in the input file time-test model, which is 340KB in size.

Time 460 seconds.
Scaled Problem size
Gc Runs with 16MB heap. Allocates 355MB of objects.
Author Jeff Chan, Nik Shaylor
Affiliation Sun Microsystems



A Java parser generator that is based on the Purdue Compiler Construction Tool Set (PCCTS). This is an early version of what is now called JavaCC. See Looking for lex and yacc for Java? You don't know Jack - By Chuck McManis, Javaworld Magazine. The workload consists of a file named jack.jack, which contains instructions for the generation of jack itself. This is fed to jack so that the parser generates itself multiple times. Because this is a commercial application, no source code is provided.

Time 455 seconds.
Scaled Makes several passes through the same input data
Gc Runs with 2MB heap. Allocates 481MB of objects.
Affiliation Sun Microsystems
URL http://self.smli.com/
Version 0.1

Next: Advanced Topics