Last updated 2018-04-06
This benchmark suite is intend as a tool for the research community. It consists of a set of open source, real world applications with non-trivial memory loads.
When quoting results in publications, the authors of this suite strongly request that:
-
The exact version of the suite be given (number & name)
-
The suite be cited in accordance with the usual standards of acknowledging credit in academic research.
-
Please cite the 2006 OOPSLA paper
-
All command line options used be reported. For example, if you explicitly override the number of threads or set the number of iterations, you must report this when you publish results.
For more information see the DaCapo Benchmark web page.
The easiest way to obtain the benchmark suite is to download the pre-built jar file from the DaCapo Benchmark web site above.
If, however, you want to build from source read on...
The suite is built using ant 1.10. You will need the following tools:
-
ant 1.10 You need to install this yourself if you don't already have it.
-
javacc Included in our tools directory.
-
maven Included in our tools directory.
NOTE
1.JDK 8 is needed to build the whole suite. 2.Building DayTrader and PMD using JDK 8 also requires JDK 7 to be installed, and jdk7home properly set. (see 2 below)
IMPORTANT: before trying to build the suite:
-
Set your
JAVA_HOME
environment variable appropriately (it must be set and be consistent with the VM that will be used to build the suite). -
Copy
default.properties
tolocal.properties
and edit it for your environment.
- Specifically, you must set
jdk7home
to point to a Java 7 installation.
For more information, run ant -p
in the benchmarks directory.
It is possible to use callbacks to run code before a benchmark starts, when it stops, and when the run has completed.
To do so, extend the class Callback
(see the file harness/src/MyCallback.java
for an example).
To run a benchmark with your callback, run:
java -jar dacapo.jar -c <callback> <benchmark>
This directory includes all of the source code for the DaCapo harness, which is used to invoke the benchmarks, validate output, etc.
bms/<bm>/src
Source written by the DaCapo group to drive the benchmark<bm>
bms/<bm>/downloads
MD5 sums for each of the requisite downloads. These are used to cache the downloads (avoiding re-downloading on each build)bms/<bm>/data
Directory containing any data used to drive the benchmarkbms/<bm>/<bm>.cnf
Configuration file for<bm>
bms/<bm>/<bm>.patch
Patches against the orginal sources (if any)bms/<bm>/build.xml
Local build file forbms/<bm>/build
Directory where building occurs. This is only created at build time.bms/<bm>/dist
Directory where the result of the build goes. This is only created at build time.
Each of these directories more or less mirror the bm
directories.
The DaCapo Benchmark Suite conmprises several open source or public domain programs, plus a test harness, some patches to enable the benchmarks to run under the test harness, and a packaging process. The benchmarks are distributed under their own licenses and the remaining component is distributed under the Apache License, version 2.0.
Copyright 2009 The DaCapo Project, Department of Computer Science University of Massachusetts, Amherst MA. 01003, USA
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.