[quote]if that is always going to be the case, then i believe Java has failed 
IMO comparable performance on comparable hardware should be a requirement of any JVM.
[/quote]
You’ve got a good point. Unfortunately, given how controversial it could be, you have to be very careful how you phrase it (takes one to know one
…I’ve made I think about 5 posts on JGO which were perilously close to flame-bait because I didn’t phrase them carefully enough :-[)
To illustrate, when I first read your point:
I instinctively disagreed. When I realised the full import of what you were saying, I agreed (flippant, aren’t I? :)). I’ve been here before, in the 1.0.x and 1.1.x days of java, when there were MANY more JVM’s than there are now. In particular, I was trying to code to DOS and RISC-OS JVM’s, which were … um … crap. The performance was so bad that e.g. something as innocent as new String() was a killer (String was much slower back then in general, so this is not a great example, but I can’t remember the really nasty ones any more). I occasionally thank whatever deity that’s to hand that most JVM’s got dropped…it’s better for a JVM not to exist, than to be so poor as to be unusable AND make it harder to write java code (because you, as developer, get the support headaches from people who’s performance or bug problems are due to massively over-worked and under-performing JVM maintainer).
To para-phrase A C Clarke (badly): “Any sufficiently poorly-performing function is indistinguishable from it’s non-implementation”. (if the String constructor gets too slow, for instance, effectively there is no String class in Java since no-one can ever use it).
It is important to recognise the validity of this.
The WORA concept does not explicitly guarantee this within the word “run”. It probably does imply it, though. Anyone who says “this is not guaranteed, and never will be” has a good point too - but this is largely because the word guarantee is too strong to be used with WORA, and shouldn’t come into the equation: for hte most part, no-one ANYWHERE is in a position to guarantee any aspect of Java, not even Sun. You can fairly say that you can “never guarantee equivalent performance, even on one platform”, but unless you pay them a very large amount, no one vendor would stick their neck out and “guarantee” any aspect of Java.
OTOH, if you talk about what WORA means in practice, then this performance aspect should always be considered part of “running successfully”. Note that Java is expected not just to run, but to run properly, and to a minimum level of bug-less-ness (although that minimum level is not very high, cross-platform). It’s fair to say it should also run at a minimum speed.