#1 16. März 2010 Java / C++ Performance Hi Leute Ich habe eine Frage bezüglich des Performaceunterschiedes zwischen einer Java- und einer C++ Implementierung. Also ich habe ein Java Programm, und das gleiche Programm in C++. Jetzt löse ich mit den Programmen mehrere Probleme von unterschiedlicher Komplexität (bei dem kleinsten werden ~200 Arrays angelegt, bei dem größten >3000) Jetzt werden diese Probleme von C++ und Java mit ziemlich unterschiedlicher Performance gelöst: C++ löst die kleinen Probleme sehr viel schneller als Java, während die größten Probleme etwa gleich schnell gelöst werden. Also bei Java ist der Geschwindigkeitsunterschied zwischen diesen Problemen einfach wesentlich kleiner als bei C++ Und ich kann mir das jetzt nicht so recht erklären, ich vermute das es was mit der VM zutun hat, die den Bytecode zur Laufzeit komipiert, aber das verursacht glaube ich, nicht so große Unterschiede. Was meint ihr dazu? Vielen Dank und viele Grüße, Satoru + Multi-Zitat Zitieren
#2 16. März 2010 AW: Java / C++ Performance 1) Die kleinen Probleme werden in C++ deshalb schneller gelöst, weil hier der kompilierte Code direkt starten kann. Java muss erst die VM anschmeißen und dort den Code interpretieren. Das benötigt Zeit. 2) Bei größeren Aufgaben relativiert sich dieser Zeitvorteil seitens C++ etwas. Die VM von Java muss einmal gestartet werden, aber das ist für größere Berechnungen nur noch ein kleiner Teil der gesamten Rechendauer. Allgemein kann man sagen, dass die Vorurteile, dass Java so langsam sei, sich mittlerweile stark relativiert haben. Die JVM wurde in den letzten Jahren stark optimiert und Java hat zunehmend an Performance gewonnen. Klar ist eine vollständig kompilierte Sprache immer schneller, als eine Sprache, die in einer virtuellen Maschine gestartet werden muss, aber wie gesagt: mit größerem Rechenaufwand relativiert sich das auch. + Multi-Zitat Zitieren
#3 16. März 2010 AW: Java / C++ Performance Hallo, Java performance - Wikipedia, the free encyclopedia Hier findest du doch das Meiste, was die Performance von Java gegen andere Sprachen betrifft, es wird dir sogar gesagt, warum. + Multi-Zitat Zitieren