War of the VMs

Java SE Embedded Vs. Android 2.2

Jessica Thornsby

Oracle’s Bob Vandette overcomes obstacles to pit Android against Java SE Embedded.

Oracle’s Bob Vandette has written about his experiment pitting
Android against Java SE Embedded.

He gives a brief overview of the Android story so far, claiming
that because the Dalvik Virtual Machine previously only ran
interpreted, its Java execution speed was “substantially slower
than most Java runtimes available on the web.” However, with the
release of Android 2.2 and the JIT compiler, the community have
been reporting increased execution speeds, and Vandette now views
Android as entering “the ballpark of other mature VMs.” His
reaction to this? “I thought it would be fun to see how well it
stacks up against our own Java SE Embedded Hotspot Virtual
Machine.”

There were numerous obstacles standing in his way. Firstly, the
Dalvik processes dex files instead of executing Java class files;
Android and Java SE’s Graphical Interface APIs are at odds with one
another, which meant he couldn’t run any GUI based benchmarks; and
Java SE doesn’t support Android’s version of Linux. Vandette
overcame these problems by configuring his test hardware platforms
to run both Android and a standard Linux distribution, selecting
benchmarks that didn’t require GUI APIs, and converting these
benchmarks to the dex format for the runs on Android. And the
results? Vandette reports that Android 2.2 lags behind the
performance of Java SE Embedded, with a highest recorded difference
of 3.2x.

Author
Comments
comments powered by Disqus