[quote]So which ‘facts’ do I choose to believe, and which do I reject ???
[/quote]
You hang around for a while and get a feel for different people’s perspectives on things and try to use your best judgment. Neither Jeff nor the rest of the GTG are trying to deceive as far as I can tell.
[quote]Even if ‘most games’ were referring to AAA titles, 9/10 of those make a loss when they go to market. We have to aim higher than that if we want a return on the development costs.
[/quote]
I’m not sure what part of my post this was relevant to, other than to say this is a good argument for using higher level languages and tools. I.e. Java.
[quote]Intel C++ will vectorise your code using SIMD and prefetching for you- no hand coding required.
[/quote]
Sure, but Jeff nor I, or anyone that I know of has stated that Java beats any particular compiler or even that it is on par with any particular compiler. As you stated yourself Intel’s compiler creams Microsofts and MSVC 7 beats MSVC 6… though MSVC 6 is still widely used as is GCC on non-MS platforms… so I don’t see why it should be discounted entirely. The argument was about languages in general… We know that compiler technology effects the overall speed as much as CPU speed in some cases. The mere fact that Java technology is so much younger than C/C++ technology is perhaps reason to remain optimistic that Java will get better still.
Re: my belief that C/C++ would win your contest:[quote]I’m interested to hear why you think this - is it that you think it will involve lots of unordered array access or something else?
[/quote]
Many factors. One is that you set the margin of error far too narrow. Given that we still see far greater than 0.5% variance within relatively modern C/C++ compilers, why would you expect less than that between C/C++ and Java?? It makes no sense. Bounds checking is an issue, the C version won’t have the safety net that it offers and it also wont have the cost associated with it. I think it is unlikely that this style of program would be a candidate for enough bounds checks to be eliminated such that it wouldn’t be a factor in slowing down the Java a bit. Given the 0.5% margin you offer… I think it is way out… I would gladly pay a mere 0.5% for the safety of the bounds checks. Another factor is the applicability of vector instructions to the problem. Which I think the latest greatest Intel compiler will take better advantage of at this stage.
[quote]But I can add a little inlined assembler in a few seconds, to the points that bottleneck my code. In JNI things have to be planned long before you know if you are optimising prematurely (a bad thing), otherwise it requires a huge amount of re-working the code afterwards, at which point you have lost one of the major selling points of Java: speed of development.
[/quote]
I get from the above that Java enforces better design practices. Which I extrapolate to a savings in development time for a complex project. (This test is far to small to realize significant savings at that level.)
Of course Java has much better tools for re-working code anyway. The optimization pass may cost more in Java than it will in C/C++ I do not deny that. But I think that the other aspects of Java will have saved you more than the difference.
[quote]But in my case I have found when you have optimised all of the rest of the Java code, profiling shows the majority of the time is spent in the vector and matrix classes, and you can’t optimise just these classes using JNI (as you point out below). The big limitation with JNI is it is not a fine-grained optimisation method, and this is why other vendors have tried and generally failed with things like JDirect (which Sun put a stop to) and CNI.
[/quote]
There is some truth to this. A comparison of just these feature with a variety of C/C++ compliers and Java VMs would be interesting and educational I think.
[quote]C++ compiler performance is still improving in leaps and bounds, so Java is chasing a moving target…
[/quote]
Improving for sure, but which is improving faster Java or C/C++? I think Java has more momentum at this point.
[quote]Who said I was a C programmer?
[/quote]
not me. ??? I was referning to AThomas’ argument not you specifically.
[quote]But for sure be happy with what you are doing, and do it to the very best of your ability regardless of the language you choose to do it in 
[/quote]
Yep, I think we all agree on that.