Geschwindigkeit der Programmiersprachen
-
Hallo...
es ist ja so ziemlich allen Programmierern bekannt dass der von C++ erzeugte Code schneller ist als der von VisualBasic, und das Assembler das schnellste überhaupt ist und so weiter.
Aber hat das mal jemand getestet? Ich meine hat irgendjemand von Euch mal versucht ein und dasselbe Programm (soweit möglich) in verschiedenen Sprachen zu schreiben oder gibts irgendwelche "Testberichte" im Internet?Gruß,
Michel
-
ich hab mal ein kleines testprogramm in c++ und in java geschrieben:
java war schneller
-
Vorweg: Nicht Sprachen sind unterschiedlich schnell, sondern Implementierungen dieser Sprachen. Das wird bei deinen Beispielen etwas verschleiert, weil es von VisualBasic nur eine Implementierung gibt, während bei Assembler eigentlich der Mensch selbst die "Implementierung" darstellt. Aber es gibt C++-Compiler, die rasend schnellen Code erzeugen, und solche, die von Optimierung noch nie was gehört haben.
That said, vielleicht findest du folgende Seite interessant:
http://www.bagley.org/~doug/shootout/index2.shtml
-
Abbadon schrieb:
ich hab mal ein kleines testprogramm in c++ und in java geschrieben:
java war schnellerWie gut, dass C++ im Gegensatz zu Java nicht für kleine Testprogramme gedacht ist *flame*. Im Ernst. Java ist sicher nicht sooo langsam wie einige vermuten. Aber alleine dadurch, dass die Sprache i.d.R. von einer VM interpretiert wird (die in C geschrieben ist???) sind der Geschwindigkeit Grenzen gesetzt. Und ohne den Testrahmen deines Programmes zu nennen zählt die Aussage null.
-
MaSTaH schrieb:
Aber alleine dadurch, dass die Sprache i.d.R. von einer VM interpretiert wird (die in C geschrieben ist???) sind der Geschwindigkeit Grenzen gesetzt.
das muss nix bedeuten, wenn dir HOT-Spot etwas sagt
MaSTaH schrieb:
Und ohne den Testrahmen deines Programmes zu nennen zählt die Aussage null.
genau
-
Bashar schrieb:
Nicht Sprachen sind unterschiedlich schnell, sondern Implementierungen dieser Sprachen.
Da hast Du natürlich recht. Im Prinzip meinte ich das eigentlich auch, habs aber nicht so schön ausgedrückt.
Danke für den Link, werde ich mir gleich mal anschauen...
-
Es kommt auch auf das Einsatzgebiet an, würde ich sagen. Jede Sprache hat ihre vor- und nachteile sonst würde es nicht so viele davon geben.
Eine Sprache, deren Code zur Laufzeit noch intepretiert werden muss kann nicht so schnell sein wie eine, die direkt mit dem Microprozessor komuniziert. Dafür ist ja aber die Scriptsprache auch nicht geschafen.
Willst du ne Datenbank haben nimmst du sql, willst du ein Spiel progen dann wirst du bestimmt c++ nehmen usw.
-
EDIT : Doppelpost
-
Schön, er wollte aber nicht wissen, welche die beste ist, sondern welche die schnellste ist.
-
Bashar schrieb:
Schön, er wollte aber nicht wissen, welche die beste ist, sondern welche die schnellste ist.
hab ich doch geschrieben. Es kommt auf das Einsatzgebiet an.
-
Bashar schrieb:
Schön, er wollte aber nicht wissen, welche die beste ist, sondern welche die schnellste ist.
Schon wieder?!?
-
Wie bitte?
-
Wann hatten wir den letzten Vergleich? Ist doch noch keine 3 Monate her, oder? Wieso können die Leute net einfach n bissle suchen? ...
-
Wieso, bis jetzt hat noch keiner Java erwähnt. Oops!
-
Hmm.. also mein Eindruck von den Programmiersprachen:
Java - sehr schnelle Entwicklungszeit, da besseres Debugging, bessere IDEs, bessere Hilfen, weniger Kryptischer Code, .... dafür je nach Implementation und verwendeten Bibliotheken, etc. evtl. langsamerer Code und man kann Java nicht überall einsetzenC/C++ - Möglichkeit schnelleren Code zu schreiben, überall einsetzbar, dafür aber sehr empfindlich... wenn nicht sogar sehr schnell zickig in der Entwicklungszeit.
Sicher kommt es darauf an, wie gut man eine Sprache beherrscht, aber Tatsache ist, dass in Java sehr viel weniger Fehler gemacht werden, als unter C/C++ und sich zudem auch sehr viel leichter beherrschen läßt, als die beiden eben genannten.
Dann wäre da noch VB
... nunja, nix halbes nix ganzes... es wurde versucht den Programmierer so weit wie möglich von den Datentypen fernzuhalten ... dies wurde aber leider nur halbherzig durchgeführt.
Um mal eben schnell eine GUI zusammenzustricken benötigt man mit VB bestimmt am wenigsten Entwicklungszeit... aber für den rest...Ob einem die Verarbeitungszeit wirklich noch so wichtig ist, wenn die Software dafür nur die Hälfte an Entwicklungszeit benötigt... ich weiss nicht... mir jedenfalls nicht
-
diese seite
http://www.bagley.org/~doug/shootout/index2.shtml
brauch drigend mal ein update
wär doch mal was für ein projekt wa?
bye
tt
-
Bashar schrieb:
Schön, er wollte aber nicht wissen, welche die beste ist, sondern welche die schnellste ist.
Das ist nicht ganz richtig... ich wollte nur wissen ob jemand irgendwelche Tests kennt bei denen "baugleiche" Programme in verschiedenen Sprachen verglichen wurden.
Über die "schnellste" Sprache brauchen wir gar nicht diskutieren... weiss doch jeder dass da kein Weg am C64-Basic vorbeigeht.Gruß,
Michel
-
Ingo aka Desert Hawk schrieb:
Hmm.. also mein Eindruck von den Programmiersprachen:
Java - sehr schnelle Entwicklungszeit, da besseres Debugging, ... weniger Kryptischer CodeBesseres Debugging? Nope (-> VS.net 2003 hat nen ziemlich genialen Debugger. Da stinken die Java-IDEs ab). Weniger kryptische Code? Ansichtssache. Den kann man mit beiden Sprachen schreiben.
-
Gerard schrieb:
MaSTaH schrieb:
Aber alleine dadurch, dass die Sprache i.d.R. von einer VM interpretiert wird (die in C geschrieben ist???) sind der Geschwindigkeit Grenzen gesetzt.
das muss nix bedeuten, wenn dir HOT-Spot etwas sagt
Aber selbst durch Hotspot kann die Implementation nicht komplett an ein gutes C(++)-Kompilat herankommen. Oder war Hotspot nicht das mit dem optimierten JIT compiling?
-
Der Michel schrieb:
Bashar schrieb:
Schön, er wollte aber nicht wissen, welche die beste ist, sondern welche die schnellste ist.
Das ist nicht ganz richtig... ich wollte nur wissen ob jemand irgendwelche Tests kennt bei denen "baugleiche" Programme in verschiedenen Sprachen verglichen wurden.
Über die "schnellste" Sprache brauchen wir gar nicht diskutieren... weiss doch jeder dass da kein Weg am C64-Basic vorbeigeht.Gruß,
Michelin der C't habe sie mal nen Test gemacht, ich glaub, das war Oktober oder Novemer 2003. Kannst ja mal bei denen auf der Seite gucken, vielleicht findest du da was www.heise.de
EDIT: getestet wurden c#, c++, java