Although the intent of the previous article, entitled Comparing JVMs on ARM/Linux, was to introduce and highlight the availability of the HotSpot server compiler (referred to as c2) for Java SE-Embedded ARM v7, it seems, based on feedback, that everyone was more interested in the OpenJDK comparisons to Java SE-E. But there were two main concerns:
- The fact that the previous article compared Java SE-E 7 against OpenJDK 6 might be construed as an unlevel playing field because version 7 is newer and therefore potentially more optimized.
- That the generic compiler settings chosen to build the OpenJDK implementations did not put those versions in a particularly favorable light.
With those considerations in mind, we'll institute the following changes to this version of the benchmarking:
- In order to help alleviate an additional concern that there is some sort of benchmark bias, we'll use a different suite, called DaCapo. Funded and supported by many prestigious organizations, DaCapo's aim is to benchmark real world applications. Further information about DaCapo can be found at http://dacapobench.org.
- At the suggestion of Xerxes Ranby, who has been a great help through this entire exercise, a newer Linux distribution will be used to assure that the OpenJDK implementations were built with more optimal compiler settings. The Linux distribution in this instance is Ubuntu 11.10 Oneiric Ocelot.
- Having experienced difficulties getting Ubuntu 11.10 to run on the original D2Plug ARMv7 platform, for these benchmarks, we'll switch to an embedded system that has a supported Ubuntu 11.10 release. That platform is the Freescale i.MX53 Quick Start Board. It has an ARMv7 Coretex-A8 processor running at 1GHz with 1GB RAM.
- We'll limit comparisons to 4 JVM implementations: