Like I said, these are specialized math tests. The Shark JIT may be optimized for multi-core systems as well; the multithreading overhead would penalize us single-core people. There are any number of similar optimization issues. We need a tool to benchmark performance of the actual JVM, rather than some math library the JVM calls, but I have yet to stumble across one. My C++ programmer background inclines me to assume Java programmers would want to suppress such benchmarks, but I recognize that as personal bias. :) It would be nice if someone would prove me wrong.

I would suggest a real-world test like watching Minecraft framerates, but Minecraft uses LWJGL, which assumes PPCs run Mac OS X. I cannot get LWJGL to compile for Linux/PPC.

Thank you very much, I missed that hint about linking libLLVM in one of your first posts.

Zero-Shark VM is working now and incredible fast, at least with my application Hibiscus. Felt speed is about 3 times faster as with Zero-only without the JIT compiler. For example synchronizing all my 15 accounts via HBCI took about 15 minutes before and now about 3 minutes.
Switching tabs in the GUI was quite unacceptable before and quite ok now. I can't compare to IBM's JDK because this application doesn't even work because of some SUN classes.
Other applications also feel faster on Icedtea with Zero/Shark.
The Cacao VM would be also interesting as another JIT-enabled VM option, but the application did not work with the Cacao built.

Is there any bugreport about icedtea and Shark I can vote for? The one you mentioned is from 2009 and only about Shark on amd64.

I would definitely say icedtea with Zero/Shark is the JDK for ppc absolutely, and I'd like to vote for stabilizing or at least adding the ~ppc keyword and adding to our PPC FAQ. Maybe some applications don't work with Icedtea, though I haven't seen one.
Let's get rid of the annoying manual download binary IBM JDK ebuild._________________ppc:PowerBook5,8 15"(1440)-G4/1.67,2G | amd64:Acer Z5610 (Core2QuadQ8200),i5-3470,VMware VM @ i7-2620M | amd64-prefix:OpenSuse | Lila-Theme

Thank you very much, I missed that hint about linking libLLVM in one of your first posts.

Glad someone found my random tinkering helpful. :)

Quote:

The Cacao VM would be also interesting as another JIT-enabled VM option, but the application did not work with the Cacao built.

Yeah, it definitely sounds interesting. The CACAO Wiki has instructions for a couple of linux flavors. That could be useful as a starting point, but it's much too early in the morning for me to make sense of it.

Quote:

Is there any bugreport about icedtea and Shark I can vote for? The one you mentioned is from 2009 and only about Shark on amd64.

That amd64 one is the only shark bug I could find, and actually the bug says it applies to all platforms -- amd64 just happens to be in the title. The devs need to know there's interest, so I suggest adding a simple comment to that one to let people know it works the same on PPC. However, the libLLVM-*.so issue needs fixing before shark can be enabled. There's a bug report on THAT problem for Gentoo/OSX. Maybe a LLVM version bump will fix it?

The java-overlay has now icedtea ebuilds for building Shark as an additional VM.

The symlink trick is no longer needed. So personally I didn't had much luck with Shark. "Hello world" runs just fine but not much more than that. Zero, CACAO and JamVM all work well here on amd64 with what I tested them with, so are considerably slower than HotSpot. CACAO is much faster than Zero judging by the scimark bench but is icedtea:6 only for the time being.

About Shark, the llvm-3.0 support didn't make it into openjdk6 nor openjdk7 so far. There is an experimental patchset which the ebuild applies to allow building against 3.0. There is an additional patch to use llvm's new mcjit. So on most hardware that can't be expected to work. If you want to play with that - uncomment the respective patch in the ebuild. If you have no luck with llvm-3.0 you might have better luck with llvm-2.9.

Using an alternative VM is done by using the command:
java -shark <args as usual>
replace shark with zero, cacao or jamvm respectively. It the same mechanism as -server / -client on x86.