Benchmarking Java with Richards and DeltaBlue
Sun Microsystems Laboratories
Mailstop UMTV29-117, 901 San Antonio Rd, Palo Alto, CA 94303, U.S.A.,
+1 (650) 336 6022, fax +1 (650) 969 7269.
As part of Sun Labs' research into the behavior of JavaTM Virtual Machines, I have translated the well-known Richards and DeltaBlue benchmarks into the Java language. From this page you can read about the benchmarks, run the benchmarks in your browser, download the class files of the benchmarks for you to run within non-browser environments, and download the sources of the benchmarks for study.
What are Richards and DeltaBlue?
Richards is an interesting medium-sized language benchmark (400-500 lines). It simulates the task dispatcher in the kernel of an operating system. The original version was written in BCPL by Martin Richards at Cambridge University, England. It has since been translated into many languages, including C, C++ and Smalltalk. Follow this link to read more about the Richards benchmark and the various versions in the Java programming language.I have also created a version of the DeltaBlue constraint solver benchmark in the Java programming language. DeltaBlue is about 1000 lines of Java code. DeltaBlue was originally implemented by John Maloney while at the University of Washington, and has also been translated into many languages including C, C++, Smalltalk. The algorithm is described in "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver" by Bjorn N. Freeman-Benson and John Maloney, Communications of the ACM, January 1990.
How do I run the benchmarks?
There are several ways of running the benchmarks:- Right now, from inside your Java-enabled browser. Follow this link to a page containing an applet that can run the benchmarks.
- By downloading the class files, installing them, and starting up a suitable Java Virtual Machine. Follow this link for the licensing terms and how to download the class files.
- By downloading the sources for the benchmarks, compiling the sources into class files within your own programming environment, and then executing the resulting class files. Follow this link for the licensing terms and how to download the source files.
Acknowledgements and Credits
I am indebted to:- Martin Richards, for creating the Richards benchmark, and granting permission to distribute a translation of the benchmark.
- L. Peter Deutsch, for writing the Smalltalk version of the Richards benchmark, and granting permission to distribute a translation of the benchmark.
- John Maloney, for creating the DeltaBlue benchmark, and granting permission to distribute a translation of the benchmark.
- Jon Gibbons, for providing one of the Java variants of the Richards benchmark.
- Urs Hölzle, for providing a C++ translation of the Deutsch implementation.
- Alex Jacoby, for writing the applet that is used to run the benchmarks within a browser, and for assisting with the benchmarks themselves.
Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered trademarks of Sun Microsystems, Inc., in the United States and other countries.
Maintained by Mario Wolczko Last modified: Thu Jun 8 13:55:46 PDT