Boy are you on my wavelength. I’m up for this. Will you be backing native code or Java - need to know where the winnings go!!! I presume Jeff will be stumping up his part?
$500 dollars, in sterling is about 250 quid? (or is it the other way round?). (hopefully they’ll be alot more than that, I wouldn’t even bother, but then maybe I don’t care enough)
Before anyone starts putting money down it might be a better idea to set out and AGREE rules, intention and what needs to be created to get reasonable results.
I’d also suggest that no-one with a vested emotional interest get involved.
As to Jeff, by the look of his last comment he’s not interested in getting involved. Doesn’t mean its not a pefectly valid experiment. I do think the cash pot would have to grow a fair bit to get people that know what they’re doing involved.
With respect, the “first” (and subsequent) replies Jeff gave on the blog discussion were polite and “fairly” open (given his obvious employment based bias). While some of Jeffs comments have been patronising or possibly flippant, can you not also see that some of yours haven’t been exactly diplomatic either? (but then I suppose no-one ever is immensely polite on the internet)
Again, I’m not quite sure why this discussion which seemed to be going pretty well on the blog made its way here?
Not that it isn’t fun
Kev
Oooh, another idea. If you guys are serious about this cash prize thing and a proper test, how about cross posting the idea to the blog conversation and to some choice gaming sites.
Better still, why not open it to all other languages, from Perl to Assembly, that’d make it really useful and possibly quite lucrative ;D
Kev
[quote]You mean like this one that was posted on Jeff’s first reply in his blog discussion:
Which is frankly where this discussion should have stayed.
And as to trolling, if I went on to a “Cookering with Bananas” forum and use a flippant comment like “If were bananas were any use for cooking” that could be nothing other than a troll. Infact, I was quite impressed with it as a troll, nothing wrong with a good one
[/quote]
That isn’t a good analogy.
What happened is this:
- Jeff posts a weblog stating that Java is as good as C, performance-wise, so people should be using it.
- Andy disagrees, and asked for evidence.
- After a long and tedious debate which isn’t really suitable for a ‘post a comment’ system, Andy posts a challenge instead, to get Jeff and his supporters to submit evidence in a context relevant to the discussion. It should be noted that this evidence is REQUIRED before anyone can take any assertions regarding Java’s suitability as a game development language seriously.
- The challenge is also posted to this forum, to allow easier discussion.
Andy didn’t just come into the forum unprovoked. To rephrase your banana cooking example:
“Somebody says that bananas are better for cooking than fruit X, somebody disagrees and asks for evidence, and when that evidence isn’t forthcoming, a bananas vs. fruit X experiment is proposed to establish which party is telling the truth”.
Of course Jeff won’t be getting involved. He’d have to get Apple/Sun to rewrite their JVM to get it up to the speed of the Win32 JVM for a start. I’d gladly pay the $500 just to see that happen.
Oh - and Kev, I take your ‘compliments’ in good humour
[quote]Oooh, another idea. If you guys are serious about this cash prize thing and a proper test, how about cross posting the idea to the blog conversation and to some choice gaming sites.
Better still, why not open it to all other languages, from Perl to Assembly, that’d make it really useful and possibly quite lucrative ;D
Kev
[/quote]
Maybe in the future ,that could be a good idea, but it goes beyond the scope of the blog and discussion which sparked off the interest in this experiment in the first place.
For now, I’d say no to that. Let’s just compare C/C++ and Java. Anything else is ‘off topic’, so to speak.
Not that I wouldn’t mind seeing what other languages are capable of.
Edit: typo
Ok, I can see your point. It makes sense because you explained it and I read it.
Now, see if we can get it to work the other way, I was talking explicitly about the comment a few posts after the challenge in response to Sputter that said at the end
Which is what I called a troll, i.e. during the course of a conversation on a forum oriented towards users of Java, when someone says “If only Java were that good” could be interpreted as being a little provocative or possibly a troll.
Not that it seems to matter really,
Kev
[quote]Ok, I can see your point. It makes sense because you explained it and I read it.
Now, see if we can get it to work the other way, I was talking explicitly about the comment a few posts after the challenge in response to Sputter that said at the end
Which is what I called a troll, i.e. during the course of a conversation on a forum oriented towards users of Java, when someone says “If only Java were that good” could be interpreted as being a little provocative or possibly a troll.
Not that it seems to matter really,
Kev
[/quote]
There was a after that little joke I seem to recall…
Nope: C++/C with a little garnish of asm or intrinsics. We are comparing current game dev with Java here.
So, are we saying “pure” Java only then? No JNI, seems a little unfair not to use a feature of the language
I guess we need to some members of the games development community who know C++ and Java and know enough about physics engines and don’t have preconceptions about either side.
EDIT: Incidently, whats your beef with the performance comparison of 9 languages posted above (and in the blog). Its not specific enough to game physics?
Kev
[quote]$500 dollars, in sterling is about 250 quid? (or is it the other way round?). (hopefully they’ll be alot more than that, I wouldn’t even bother, but then maybe I don’t care enough)
[/quote]
US$500=UK£280
Like I said, participants should chip in some of their own cash for the prize fund. I’m not funding the entire thing.
Of course. But without the money, I expect this discussion would have ended by now. So let’s agree on rules. Anyone?
I don’t intend to contribute any code to this experiment, although I’m quite happy to spend my own money on it. Who exactly are you referring to?
If some good rules turn up, I might be pursuaded to throw in a bit more. Jeff’s probably loaded - why doesn’t he contribute some!
There’s nothing wrong with asking for evidence. What exactly is wrong with my posts? Give me an example!
Part of the reason is the way that healthy weblog discussions sink into the Quicksand of Obscurity, regardless of the discussion’s popularity. PHPBB and other ‘real’ discussion systems typically bump a thread to the top of the list, which is much more useful both as a navigational aid for regulars and as an attractor for visitors.
But it is a good idea to occasionally cross-post summaries of the discussion here onto the weblog comments.
[quote]So, are we saying “pure” Java only then? No JNI, seems a little unfair not to use a feature of the language
I guess we need to some members of the games development community who know C++ and Java and know enough about physics engines and don’t have preconceptions about either side.
EDIT: Incidently, whats your beef with the performance comparison of 9 languages posted above (and in the blog). Its not specific enough to game physics?
Kev
[/quote]
One of the stated advantages of Java in Jeff’s weblog was that Java’s portability would save devcos money. Native code isn’t portable. He also said that Java was as fast as C/C++. So if it’s just as fast, you wouldn’t need to use JNI in the first place.
Isn’t the HotSpot supposed to optimise away all those performance issues?
What do other people think? JNI or no JNI? If so, why? If not, why not?
I would restrict JNI to any existing JNI calls that the J2SE 1.4.2 library makes (this is necessary to allow people to use the J2SE library), and a standard binding to OpenGL. Anything else would be unacceptable as you’d have to use a different language compiler, and as mentioned in the previous post, Jeff assures me that Java can do just as good optimisation.
Perhaps I should make it clear that I am not interested in competing with other C developers, nor am I interested in comparisons to anything not implemented in pure Java. The point of my challenge, as noted above, was to bring this ‘discussion’ down to hard facts rather than bluster and spin, so I will supply a baseline native version that Java has to match.
And I’m not interested unless Jeff and his other experts are involved, as I don’t want any excuses about the Java code being poorly written when the result is known.
As for needing games developers - no. I will publish all the maths required in the rules, otherwise it wouldn’t be a fair comparison. Given this, any developer who knows the difference between a vector and a matrix should be able to implement a version, in something like 30-40 hours of work.
The simulation would involve a a large number of capsules moving around in zero gravity inside a box, bouncing off each other and the box walls. The use of capsules keeps the collision code easy for everyone to implement whilst still allowing rotation of the bodies without introducing friction into the simulation.
EDIT: Even though it’s really up to Jeff to prove his assertions himself, I think the issue has become a matter of personal integrity (if you make assertions as a representative of an organisation then you should also be prepared to back them up). I’ll stump up $500 as well.
I now count 4 digits, the figure Jeff suggested. I want to see this get to $3000 (approx. a months wages) to make it happen.
[quote]I also think Mr. Larder had a good idea. But sincee’s the one who cares he should put up the prize, at least 4 dgits worth. If he does that I’m sure you guys would be happyto compete, wouldn’t you? (Sicne we are talking an individual that prize better be in verifiable escrow account. and the contest rules clearly and legally stated.)
[/quote]
I’m glad you think it’s a good idea Jeff - now where’s your $500?
[quote]EDIT: Incidently, whats your beef with the performance comparison of 9 languages posted above (and in the blog). Its not specific enough to game physics?
Kev
[/quote]
Why is this existing test not being used as the example? The code is available you can review and debate it merit here. And it is a complete set of test across several language…
Please explain your reasoning for dismissing this…
Hiya Shawn, glad to finally make your acquaintance
That test was flawed in many regards:
[*]The comparison was to GCC. Games developers use the fastest compiler available on each platform, not GCC. GCC is not comparable to Intels or IBM’s optimising/vectorising/profile guided compilers.
[*]It was no test of computational 3D geometry, i.e. 3D games coding. In my opinion the tests were the worst micro-benchmarks I have seen in quite a while.
[*]There are many opportunities to vectorise code using SIMD, which the Intel compiler can do for you, or you can do yourself by inlining a few intrinsic functions into your vector and matrix cpp classes. Apple sped up a real application (Noble Ape) by 6x over C based scalar code just by adding a little Altivec code.
[*]Have you seen the performance of the JVM on the Macintosh G5? If not I suggest you pop down to your lab or to Cupertino and check it out.
Andy.
1000 $ is 3 months of comfortable live with slight computer updating, and after paing all taxes. I’m not interested.
It might be interesting to see what will Jeff create in his spare time, but how it would help to game community?
Worst case would be: Sun engeneers would be somehow distracted from theirs work. And possibly delay few important things.
Best case could be: You actually create something, that would be possibly helpful to the community.
So you claim that capsule (you mean sphere?) bounding in some “cube” will help the community?
Perhaps better idea would be. The best hack that would speed up JNI. If there are problems with JNI.
Or why not give that money to person that would finish Java to PS2 compiler?
Is VC 6.0 best compiler in the world? You claim that game developers are using fastest compiler…
Good point. But then the source is available so recompile under compiler of your choice. But…(see next)
If you don’t like the test anyway, no reason to test under optimizing compiler, of course
Well I don’t exactly have the chance to take vacation time and fly out to Cupertino (anymore than the next guy I suppose) to check it out personally but then maybe you can? Strange comment it seems to me.
Maybe you can just post some kind of quantifiable specs on what you are talking abot here. Or rather just say what you mean. What would I see if I went to Cupertino and checked it out?
Regardless, if someone tells me something about some thing, and I say SHOW ME and they can’t show me to my approval then I just go about my business. What is the fire on your belly over this? If you want to prove something to yourself, write the app. If you want to prove it can’t be done to everyone else write the app.
If you don’t BELIEVE it can be done, then really aren’t we talking religion and not facts?
In any case, what is your goal?
I would be nice. Collision detection between moving spheres in 3D space in double precission floating numbers took 144000 ms. It was bruteforce algorithm 30 000x 30 000
However I think that simulation would be flawed from start, amount of possible implementation is really high. How would you measure theirs effectivity? By FPS?
BTW What do you mean by physics engine?
[quote]However I think that simulation would be flawed from start, amount of possible implementation is really high.
[/quote]
That would not be a flaw in itself. IMO, one of the compelling reasons to use java is that it takes less time to write stable and safe code so you have more time working on the algorithms in the time you would need in the C counterpart to write stable and safe code.
[quote]And by the way, where is this mythical FPS that supposedly runs as fast as Quake 2?
[/quote]
Try google or search the forum. You might find a well performing Q3 clone, and some benchmarks against VC with comparable results.
I searched and searched, but couldn’t find any evidence of java being 7x slower than C on a mac. But then again maybe you’re right, but until you show some evidence nobody will know.
[quote]And I’m not interested unless Jeff and his other experts are involved, as I don’t want any excuses about the Java code being poorly written when the result is known.
[/quote]
The odds are that there could be a decent java developer out there somewhere outside Jeff, you know Why do you only want to challenge Jeff in person? After all, it’s about java’s suitability not Jeff’s isn’t it? What would be the point of a well performing java (or this whole discussion for that matter) if only ‘jeff and his other experts’ were able to achieve that?
Why challenge him here in a public community if you don’t want that community to be involved?
You will prove nothing if jeff won’t be involved for whatever reason; it won’t prove any of your insinuations about Jeff’s integrity that’s for sure.