While originally conceived as a target platform of the Java language only, the Java Virtual Machine has since become an attractive target for a multitude of programming languages, one of which is Scala. But although the Scala compiler emits plain Java bytecode, the execution characteristics of Scala programs are not necessarily similar to those of Java programs. In a nutshell, the Scala Benchmarking Project thus attempts to answer the following research question: Scala ≡ Java (mod JVM)?.
Alas, the benchmark suites so often used in JVM research do not yet reflect the growing popularity of non‐Java languages on the JVM; all prevalent suites are still firmly Java‐focused. The first major contribution of the Scala Benchmarking Project has thus been to complement a popular Java benchmark suite with a large set benchmarks based on real‐world Scala applications, thereby allowing JVM researchers to finally compare and contrast the performance characteristics of Java and Scala programs beyond the level of micro‐benchmarks.
At the moment, the Scala Benchmarking Project consists of the following core projects.
Project | Description |
---|---|
Benchmarks | A collection of DaCapo‐based Scala Benchmarks |
DaCapo Integration | A collection of projects useful when integrating with the DaCapo benchmark suite |
DiSL Analyses | A collection of dynamic analyses written in DiSL |
Maven Archetypes | A collection of archetypes for Apache Maven |
Maven Plugins | A collection of plugins for Apache Maven that assist in performance characterization |
You will find all development snapshots in our Maven repository. In particular, the Scala benchmark suite is available for download.
Please cite the benchmark suite’s exact version number whenever using the suite for your research. We also kindly ask you to cite our OOPSLA ’11 publication.
This project was supported by the Center for Advanced Security Research Darmstadt and the Swiss National Science Foundation. It was furthermore partly supported by the National Science Foundation under grant CCF 1018038.