Ihr kennt doch sicherlich den "Pet Store"-Fall, in dem Sun mit Java
ein Internetshop als Musteranwendung aufgebaut hatte.
The Middleware Group hat dann den gleichen Shop auf .Net-Basis mit
einem Viertel der Line Of Codes und im ersten Ansatz 20-facher
Ablaufgeschwindigkeit hingestellt. Nach einem gewaltigen Aufschrei
der Empörung überarbeiteten sie den Java-Code noch einmal (TMC ist
nämlich hauptsächlich ein Java-Spezialist)  und erreichten dann eine
Verbesserung der Java-Performance. Diese blieb aber immer noch um den
Faktor 3 zurück!
Alles hier und in den Links nachzulesen:
http://www.webservices.org/index.php/article/articleview/745/1/10/
Wenn man nun der Java-Gemeinde zugute hält, dass es sich hier ja um
eine Studie handelt, mit der man die Möglichkeiten von Java aufzeigen
wollte, eine wartbare, stark OOP-ausgerichtete Applikation zu
ertellen, die als Performance-Vergleich ungeeignet ist - ja bitte,
warum hat denn niemand bisher den bereits verbesserten Java-Pet-Store
noch einmal verbessert, und zwar so, dass die Performance von dem
.Net-Pendant eingeholt oder sogar überholt wird?
Da dieser TMC-Vergleich hohe Wellen geschlagen hat, kann ich mir
vorstellen, dass es schon längst eine triumphale Antwort des
Java-Lagers gegeben hätte, wenn es einfach wäre, die .Net-Applikation
zu übertreffen - auf eine solche Antwot warte ich aber heute noch!
Kann ich also daraus den Schluss ziehen, dass die .Net-Lösung der
J2EE-Lösung klar überlegen ist? Oder gibt es eine Revision der
Revision, von der ich noch nichts weiß?
Meine eigenen bescheidenen Tests zeigten mir bisher, dass Java und C#
in der reinen Performance nicht sehr weit von einander entfernt
stehen, wobei Java im Zweifelsfall einen Tick langsamer war, was ich
aber gerne hinnehme, wenn ich dafür Plattformunabhängigkeit erreiche.
Außerdem ist im reinen Numbercrunching kein so erschreckend großer
Abstand zu C / C++ zu erkennen (Faktor 1 bis 2).
[Trotzdem gibt es so gut wie keine Anwender-Programme für den PC auf
Java-Basis! Limewire, JEdit, Forte etc. - mehr fallen mir dazu nicht
ein. Ich habe als bisher überzeugendsten Fall von Java-Performance
hier gefunden:
http://www.arturia.com, und zwar bei dem "Storm"-Techno-Music-Maker.
Ich denke aber, dass hier native DLLs verteilt wrden für die
runtime-kritischen Teile.]
Was sagen unsere Heiseforums-Java-Experten zu dem Petstore-Fall?
Ich möchte hier nicht polemisieren, sondern würde mich freuen, wenn
es weiterführende Hinweise in der Sache gäbe.
ein Internetshop als Musteranwendung aufgebaut hatte.
The Middleware Group hat dann den gleichen Shop auf .Net-Basis mit
einem Viertel der Line Of Codes und im ersten Ansatz 20-facher
Ablaufgeschwindigkeit hingestellt. Nach einem gewaltigen Aufschrei
der Empörung überarbeiteten sie den Java-Code noch einmal (TMC ist
nämlich hauptsächlich ein Java-Spezialist)  und erreichten dann eine
Verbesserung der Java-Performance. Diese blieb aber immer noch um den
Faktor 3 zurück!
Alles hier und in den Links nachzulesen:
http://www.webservices.org/index.php/article/articleview/745/1/10/
Wenn man nun der Java-Gemeinde zugute hält, dass es sich hier ja um
eine Studie handelt, mit der man die Möglichkeiten von Java aufzeigen
wollte, eine wartbare, stark OOP-ausgerichtete Applikation zu
ertellen, die als Performance-Vergleich ungeeignet ist - ja bitte,
warum hat denn niemand bisher den bereits verbesserten Java-Pet-Store
noch einmal verbessert, und zwar so, dass die Performance von dem
.Net-Pendant eingeholt oder sogar überholt wird?
Da dieser TMC-Vergleich hohe Wellen geschlagen hat, kann ich mir
vorstellen, dass es schon längst eine triumphale Antwort des
Java-Lagers gegeben hätte, wenn es einfach wäre, die .Net-Applikation
zu übertreffen - auf eine solche Antwot warte ich aber heute noch!
Kann ich also daraus den Schluss ziehen, dass die .Net-Lösung der
J2EE-Lösung klar überlegen ist? Oder gibt es eine Revision der
Revision, von der ich noch nichts weiß?
Meine eigenen bescheidenen Tests zeigten mir bisher, dass Java und C#
in der reinen Performance nicht sehr weit von einander entfernt
stehen, wobei Java im Zweifelsfall einen Tick langsamer war, was ich
aber gerne hinnehme, wenn ich dafür Plattformunabhängigkeit erreiche.
Außerdem ist im reinen Numbercrunching kein so erschreckend großer
Abstand zu C / C++ zu erkennen (Faktor 1 bis 2).
[Trotzdem gibt es so gut wie keine Anwender-Programme für den PC auf
Java-Basis! Limewire, JEdit, Forte etc. - mehr fallen mir dazu nicht
ein. Ich habe als bisher überzeugendsten Fall von Java-Performance
hier gefunden:
http://www.arturia.com, und zwar bei dem "Storm"-Techno-Music-Maker.
Ich denke aber, dass hier native DLLs verteilt wrden für die
runtime-kritischen Teile.]
Was sagen unsere Heiseforums-Java-Experten zu dem Petstore-Fall?
Ich möchte hier nicht polemisieren, sondern würde mich freuen, wenn
es weiterführende Hinweise in der Sache gäbe.