Java On Raspberry Pi Performance
From Resin 4.0 Wiki
(Difference between revisions)
Line 28: | Line 28: | ||
OpenJDK Zero VM (build 22.0-b10, mixed mode) | OpenJDK Zero VM (build 22.0-b10, mixed mode) | ||
− | * [http://www.cacaojvm.org/ with -cacao] | + | * [http://www.cacaojvm.org/ java-7-openjdk-armel with -cacao] |
java version "1.7.0_03" | java version "1.7.0_03" | ||
Line 40: | Line 40: | ||
JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) | JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) | ||
− | * | + | * CONTROL was a MacBook Pro OSX Darwin Kernel Version 10.8.0 |
** 2.4 GHz Intel Core 2 Duo | ** 2.4 GHz Intel Core 2 Duo | ||
** All tests we run with -d32 to force 32-bit mode | ** All tests we run with -d32 to force 32-bit mode | ||
Line 52: | Line 52: | ||
* '''Oracle JDK VM looks to be the clear winner in term of overall performance''' | * '''Oracle JDK VM looks to be the clear winner in term of overall performance''' | ||
* Oracle's VMs are fastest in the most categories. | * Oracle's VMs are fastest in the most categories. | ||
− | * The JDK _10 VM is slightly faster | + | * The JDK _10 VM is slightly faster in most categories than the Embedded _06 JRE |
* Jam VM has impressive startup speed but nothing else | * Jam VM has impressive startup speed but nothing else | ||
* Zero was the slowest in most categories, but it's also the only OpenJDK VM that appears to be complete | * Zero was the slowest in most categories, but it's also the only OpenJDK VM that appears to be complete | ||
* Zero and Jamm were significantly slower in numerical calculations than the other 2 | * Zero and Jamm were significantly slower in numerical calculations than the other 2 | ||
− | * IO performance was the most dramatic win for the Oracle | + | * IO performance was the most dramatic win for the Oracle VMs. IO is so much slower on the all the OpenJDK VMs that it signifigantly impacts Resin performance |
* Cacao was clearly the fastest OpenJDK VM, although it's not a "complete" JVM and throws some warnings | * Cacao was clearly the fastest OpenJDK VM, although it's not a "complete" JVM and throws some warnings | ||
* I am going to further test Cacao to see how Resin runs on it | * I am going to further test Cacao to see how Resin runs on it |
Latest revision as of 00:00, 22 December 2012
My objective is to performance test basic JVM functions of different JVMs on the Raspberry Pi hardware to see which JVM is fastest overall. For this I have created a few different tests that exercise specific operations, such as floating-point math, file IO, etc. The results are not relevant compared to other hardware. The results metrics are really not important either other than as they compare to the same test on a different JVM.
- Also see Paul's Raspberry Pi Journal
Contents |
VMs Tested
There's currently a few different JVMs available for Raspberry Pi. I tested these:
java version "1.7.0_10" Java(TM) SE Runtime Environment (build 1.7.0_10-b18) Java HotSpot(TM) Client VM (build 23.6-b04, mixed mode)
java version "1.7.0_06" Java(TM) SE Embedded Runtime Environment (build 1.7.0_06-b24, headless) Java HotSpot(TM) Embedded Client VM (build 23.2-b09, mixed mode)
java version "1.7.0_03" OpenJDK Runtime Environment (IcedTea7 2.1.3) (7u3-2.1.3-1) OpenJDK Zero VM (build 22.0-b10, mixed mode)
java version "1.7.0_03" IcedTea Runtime Environment (IcedTea7 2.1.3) (7u3-2.1.3-1) CACAO (build 1.1.0pre2, compiled mode)
java version "1.7.0_03" OpenJDK Runtime Environment (IcedTea7 2.1.3) (7u3-2.1.3-1) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching)
- CONTROL was a MacBook Pro OSX Darwin Kernel Version 10.8.0
- 2.4 GHz Intel Core 2 Duo
- All tests we run with -d32 to force 32-bit mode
java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-10M3909) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
Results Summary
- Oracle JDK VM looks to be the clear winner in term of overall performance
- Oracle's VMs are fastest in the most categories.
- The JDK _10 VM is slightly faster in most categories than the Embedded _06 JRE
- Jam VM has impressive startup speed but nothing else
- Zero was the slowest in most categories, but it's also the only OpenJDK VM that appears to be complete
- Zero and Jamm were significantly slower in numerical calculations than the other 2
- IO performance was the most dramatic win for the Oracle VMs. IO is so much slower on the all the OpenJDK VMs that it signifigantly impacts Resin performance
- Cacao was clearly the fastest OpenJDK VM, although it's not a "complete" JVM and throws some warnings
- I am going to further test Cacao to see how Resin runs on it