dflemstr wrote:
Kramy wrote:
I already spoke to Sun regarding their JVM. Unfortunately, there's no discount for open source projects.
You spoke to Sun, for real?

Yes, I was emailing them constantly in January & February with questions, then forwarding the important responses to project members like Chip.
Java SE Embedded 1.6 for ARM isn't the most optimized JRE/JVM out there, but it'd certainly beats open source projects. It might even be close in performance to C, but that's not saying much.
I recall from gp32x, some board members were complaining about one gcc compile being slower than another identical compile on the GP2X. Other board members said assembly often boosted performance 50+%, which is a far bigger gain than you'd expect on x86. Java on x86 is very efficient, but it sounds like it's not that hard to beat C on some of these ARM processors.
dflemstr wrote:
Anyways, the largest bottleneck in a JVM has always been that you can't store objects on "the stack" afaik. It gets really annoying when you do heavy math computations with vector classes and you can't have immutable vector types because of this bottleneck, forcing you to create mutable vector types, effectively just exposing two float variables with wrapper methods. Very annoying. I'd like to use code that creates, like, 30 000 objects per second, which isn't possible without the optimizations that have been done in the big JVMs.
I don't have a very good understanding of that low level stuff, but I suspect since Java 1.6 for ARM was developed for SoCs with more memory(like the OMAP 3530), it must have heavier optimizations than earlier versions of java.
dflemstr wrote:
By the way: will we get good float performance in the JVM packaged with the Pandora? Can it be compiled to use the DSP/SIMD extensiosn or what have you? Don't know what could be vectorized in a JVM, really, but would be awesome if we were able to use floats like we do on all other platforms, for heavy math.
Hell if I know!

Sun's JVM would probably use the weak FPU rather than NEON - but if the Pandora were actually using that JVM, you could always try begging that they optimize it more.

Honestly, NEON optimizations are more likely in a JVM like JamVM, where any one of us can recompile it.
I doubt any JVM will use the DSP without some hefty redesigning.