Professional grade Java benchmarks



CDC/CLDC-compliant benchmarks for testing Java
implementations in cell phones, PDAs, DVD players,
set-top boxes, industrial equipment, and more
  About GrinderBench™ Version 1.0 Java Benchmark Suite


Developed by EEMBC, the Embedded Microprocessor Benchmark Consortium, GrinderBench Version 1.0 is a suite of benchmarks that allows the user to approximate the performance of Java 2 Micro Edition (J2ME™) applications in products such as mobile phones and PDAs. Its five benchmark kernels are the following:

Chess Benchmark Logo A complete chess playing engine that is used to determine a set of chess moves. The chess benchmark only performs the logical parts of a chess program, as no graphical output is available. It plays a preset number of games with itself and times how long it take.
Cryptography Benchmark Logo This suite of algorithms measures the performance of Java implementations in cryptographic transactions, such as those used when goods and services are paid for via a mobile device. The DES, DESede, IDEA, Blowfish, and Twofish encryption algorithms are exercised.
kSML Benchmark Logo Measures XML parsing and/or DOM tree manipulation.
Parallel Benchmark Logo Exercises a Java implementation’s ability to perform its user interface while interacting with the internet, particularly in scenarios where applications are divided into separate application threads with some communications threads running in the background behind the thread providing the user interface.
PNG Decoding Benchmark Logo Shows how fast a Java implementation can decodes a PNG photo image of a typical size used on a mobile phone.

EEMBC’s GrinderBench Version 1.0 is designed to benchmark CLDC and CDC applications only. This supports a focus on J2ME and its application to the mobile phone market. The Connection Limited Device Profile (CLDC) has no knowledge of external peripherals, such as graphics displays or networking ports, and as such provides an excellent vehicle on which to isolate the Java implementation from the latency introduced by I/O peripherals.

Questions and Answers about GrinderBench™ Mobile Java Benchmark Software

Why did EEMBC develop the GrinderBench mobile Java benchmarks?
There is an urgent need in the embedded industry for fair, honest, certifiable benchmarks that provide customers with accurate indications of the performance of Java embedded solutions and thus a way to make an informed choice among the many alternatives available.

Who developed the GrinderBench mobile Java benchmarks?
The benchmarks were developed by EEMBC, the Embedded Microprocessor Benchmark Consortium, a non-profit organization that helps designers select the right processors and compilers for their systems by developing certifiable performance benchmarks based on real-world embedded applications. EEMBC’s members include most of the world’s leading semiconductor, intellectual property, and compiler companies; users can access the EEMBC benchmark software by purchasing a license or by becoming a member of the EEMBC Board of Directors or one or more EEMBC subcommittees.

What part of J2ME does GrinderBench test?
GrinderBench 1.0 focuses on the Connected Limited Device Configuration (CLDC), which is the set of classes that underlies all other J2ME profiles (including MIDP), and on VMs executing standard Java class files.

How did EEMBC decide which benchmark kernels would be included in GrinderBench?
GrinderBench was designed to be both relevant and representative. The EEMBC Java benchmarking team wanted a benchmark suite that:

• Included code that is representative of real-world CLDC applications
• Avoided synthetic benchmarks to the extent possible
• Exercised the Java API broadly
• Was resistant to manipulation

How can Java performance on mobile phones be measured using GrinderBench benchmarks?
Most Java-enabled phones are equipped with the MIDP J2ME environment and can only accept Java code packaged as MIDlets. To accommodate this testing modality, EEMBC has created two versions of GrinderBench. The mobile phone scores on are obtained using a version of GrinderBench supported by a MIDP wrapper. A second version of GrinderBench, without the MIDP wrapper, can be used on TCK-compliant platforms other than mobile phones and is available for license from EEMBC. Both versions test only the CLDC API and not the MIDP API.

How is accurate timing ensured?
The benchmark components time themselves using the milliseconds-accurate timer provided by CLDC. The amount of time spent running each of the GrinderBench tests thus dwarf any inaccuracy in the Java-based timers. To prevent GrinderBench benchmarks from running to completion in a few seconds on some machines and taking geologic times on others, a mechanism is used in which the benchmark executes for a fixed amount of time and measures its progress during that time.

Can GrinderBench run on devices with a limited amount of memory?
Yes. Since many mobile phones do not permit Java Archive (JAR) files to be more than 64 Kbytes in size, GrinderBench is structured so that the individual components can be downloaded (not just the entire multi-test benchmark). Also, the individual JAR sizes for these components is limited to 64 Kbytes or less.


Home | About | Benchmark Scores | Technical Literature |
Cookies must be turned on in your browser to use some of the features of this website.
GrinderBench and Grindermark are trademarks and EEMBC is a registered trademark of the Embedded Microprocessor Benchmark Consortium, a non-profit organization that develops certifiable benchmarks for embedded processors and systems. More about EEMBC.