The cacao VM won't start up - some Java exception about security hashes not matching
This is a known issue.
Cacao only work well for armel and OpenJDK-6. Speedwise its quite good especially on low end arm systems like the Raspberry Pi.
- the JamVM is 450x slower than my desktop
How is JamVM to drive OpenGL intense application on your desktop?
When i test JamVM on arm its then Oracle is only 4x faster.
- and the IcedTea Zero VM is 950x slower than my desktop.
Measured. I need better performance frankly. Last time I used the Sun JRE on ARM it was blinding fast.
I will below try to give a honest and colorful view on the speed difference between the Oracle JVM on ARM and all current FOSS options.
It is a common mistake to expect that the speed of zero on the desktop will match the speed of zero on ARM
especially because we are maintaining some addons for Zero inside the IcedTea project
1. an assembler optimized main loop for zero on arm. and
2. we maintain a thumb2 jit also for arm.
You can tell if you run the assembler optimized and thumb2 jit enabled version if your java -version output if it say Zero *Mixed-mode*
of course if we test on the Pi then we can only use the assembler optimized interpeter.
Zero interpreted-mode is what you run on the desktop.
Testing on "high" end armv7 cortex-a9 pandaboard
I have bench marked the speed difference between Zero on ARM and the current hotspot found in the Oracle JRE and JDK by using the DaCapo-9.12-bach benchmark.
Clearly the Oracle C1 and C2 jit are doing a great job, especially for the sunflow raytrace benchmark. On most of the benchmarks Zero is "only" 2.5 times slower.
Testing on "low" end armv6 raspberry pi
The raw numbers:
Relative performance compared to the zero interpreted-mode:
For best results:
Use ahead of time compilation using GCJ on the Pi running armhf.
For good results try:
Oracle JDK 7u6 on armel.
CACAO gives good results for armel and openjdk-6.
Avian also gives good results for armhf and openjdk-7.
JamVM gives ok results for armhf and openjdk-6/7.
The montecarlo benchmark is interesting, here the Oracle JDK clearly got an advantage by being 4 times faster compared to all FOSS options.
For running OpenGL ES 2 content all the JVM can render some spinning gears at 60fps fine without stuttering on the pi in 1980x1080 reolution using JOGL on the Pi.
I will try post a benchmark measuring CPU load using the various JVM options when doing so.
Oh right. sorry for hijacking this Mac OS X thread. :/