Programmier Sprache Und Laufzeit
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Die c't hat in Ausgabe 21/2003 einen Laufzeitvergleich zwischen ausgewählten Versionen von C++, C#, Java und Delphi gebracht. Der Artikel erweckt den Eindruck, als ob C++ mit zunehmender Objektorientiertheit langsamer wird und hat verständlicherweise in der deutschen C++ Gemeinde für einigen Aufruhr gesorgt. Natürlich ist dies nicht die erste fragwürdige Untersuchung zum Thema Laufzeitvergleich und es wird sicher nicht die letzte bleiben.

Seiten mit Untersuchungen zum Laufzeitverhalten verschiedener Programmiersprachen bzw. deren verschiedene Implementationen:

Eine umfangreiche Liste mit Sprachvergleichen liefert das Google Directory.


Ich verstehe die Aufregung im Einleitungssatz dieser Seite nicht ganz. Objektorientierung schafft durch ein höheres Abstraktionsniveau strukturelle Vorteile, dies verursacht aber normalerweise auch Speicher- und/oder Laufzeit-Kosten. Ich finde es normal und es deckt sich mit meinen Erfahrungen, dass Programme mit steigender Objektorientierung tatsächlich langsamer werden. Natürlich versucht jeder Sprachentwickler diese Effekte durch eine geschickte Implementierung hintanzuhalten. -- HelmutLeitner

Das hat aber insgesamt etwas mit der Betriebssystemschnittstelle zu tun. Man kann eine Smalltalk- oder Java-VM in Hardware gießen und bekommt dann einen besseren OO-Support. (Ist alles schon gemacht worden.) Wenn man innerhalb einer solchen Laufzeitumgebung nicht objektorientiert programmiert, kann das resultierende Programm langsamer ausfallen als die OO-Variante. Für mich interessant war, um welche Größenordnungen an Performanzunterschied es hier geht. Smalltalk hat man jahrzehntelang vorgeworfen, um einen Faktor 10 langsamer als C zu sein. Java wird für etwas schneller als Smalltalk gehalten (was meines Wissens auch nicht belegt ist), hat aber auch den Ruf weg, langsam zu sein. Der Artikel hat wohl versucht, mit solch absurden Vorurteilen Schluß zu machen. Mit dem Erfolg, dass man über Laufzeitunterschiede im Bereich von 25% diskutiert. -- SDö


Benchmarks are notoriously misleading, and perhaps mine aren't any better, although I do try. Benchmarks tell you about results in a very specific case. Drawing a general conclusion is problematic.
http://www.bagley.org/~doug/shootout/conclusion.shtml

Siehe auch ProgrammierSpracheUndEntwicklungsKosten
KategorieTabellen KategorieOptimierung KategorieDiskussion
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 7. Februar 2005 14:47 (diff))
Suchbegriff: gesucht wird
im Titel
im Text