Ein sehr interessanter Geschwindigkeitsvergleich (Benchmark) von
Programmiersprachen, mit vielen Optionen
und Einblick in den Quellcode der verschiedenen Testprogramme, ist hier zu bewundern:
http://shootout.alioth.debian.org/gp4sa ... l&lang=all
Geschwindigkeitsvergleich von Programmiersprachen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
- Altbekannt, der Shootout ist eine feste Größe geworden. Ebenso wie dier Win32 Shootout.
- Es werden Implementationen und nicht Sprachen verglichen. Sprachen haben keine Ausführgeschwindigkeit. Sie haben nur eine Lerngeschwindigkeit und die ist nicht empirisch messbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 188
- Registriert: Donnerstag 20. Juli 2006, 20:46
- Wohnort: Wien
- Kontaktdaten:
Scheinbar wird hier auch die Qualität des Programmerstellers berücksichtigt, ob ich das ein fairer Vergleich ist wage ich zu bezweifeln.
Wenn man den C Code mit der angeblichen Äquivalenz in z.b. Python oder PHP ansieht kann man unschwer erkennen das die C Programmierer hier eindeutig besser auf "Speed" getrimmt haben.
Schwierig, schwierig, ist glaub ich auch niemals wirklich fair.
lgherby
Wenn man den C Code mit der angeblichen Äquivalenz in z.b. Python oder PHP ansieht kann man unschwer erkennen das die C Programmierer hier eindeutig besser auf "Speed" getrimmt haben.
Schwierig, schwierig, ist glaub ich auch niemals wirklich fair.
lgherby
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wobei Python-Code oft auch mit Absicht nicht auf Geschwindigkeit optimiert ist: Readability counts.thelittlebug hat geschrieben:Wenn man den C Code mit der angeblichen Äquivalenz in z.b. Python oder PHP ansieht kann man unschwer erkennen das die C Programmierer hier eindeutig besser auf "Speed" getrimmt haben.
Ich finde als Programmierer ein lesbares Programm besser als ein unlesbares, welches 2% schneller ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
"Readability counts", bei einem Geschwindigkeitsvergleich? InteressantLeonidas hat geschrieben:Wobei Python-Code oft auch mit Absicht nicht auf Geschwindigkeit optimiert ist: Readability counts.

Viele der Aufgaben im Shootout kann man in gewissen Programmiersprachen anders/schneller lösen, diese Versionen werden aber von den Leuten dort nicht akzeptiert. Gibt schon einiges an Diskussionen und Kritik dazu.
Zum groben Abschätzen finde ich den Shootout aber ganz gut.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, wenn der Vergleich fair sein sollte, sollte er ja auch typische Programme benchmarken, nicht Programme die so geschrieben sind, dass sie möglichst schnell sind und dadurch weniger verständlich. Wenn man im Shootout die Programme so umschreibt, dass sie nur auf Geschwindigkeit optimiert werden, finde ich dass sie dann nicht mehr typische Python-Programme repräsentieren sondern Sonderfälle.mawe hat geschrieben:"Readability counts", bei einem Geschwindigkeitsvergleich? InteressantLeonidas hat geschrieben:Wobei Python-Code oft auch mit Absicht nicht auf Geschwindigkeit optimiert ist: Readability counts.
Typischerweise sind Python-Programme nun mal auf Lesbarkeit getrimmt. Ist in der Regel ja auch ausreichend schnell.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Nun, das sehe ich nicht so. Die Programme sind auch keineswegs "typisch", weil ja oft ein Lösungsweg aufgezwungen wird.Leonidas hat geschrieben:Ja, wenn der Vergleich fair sein sollte, sollte er ja auch typische Programme benchmarken, nicht Programme die so geschrieben sind, dass sie möglichst schnell sind und dadurch weniger verständlich.
Der Shootout ist IMO weder fair (was immer das in dem Zusammenhang heissen mag) noch objektiv. Aber ich glaube das erwartet auch niemand ernsthaft. Wie gesagt, als grobe Einschätzung ist er recht nett.
-
- User
- Beiträge: 188
- Registriert: Donnerstag 20. Juli 2006, 20:46
- Wohnort: Wien
- Kontaktdaten:
Es gibt ja immer noch die Möglichkeit in C zu implementieren wenn Geschwindigkeit wirklich ein Kriterium sein sollte.
Das hab ich mal bei einem Feder-Masse System gemacht da ich da mit der Performance alles andere als zufrieden war. Aber dafür war die reine Python Version schnell fertig
Mit C wär ich warscheinlich ein ganzes Wochenende mit dicken Büchern bei der Aufgabe gesessen. Ganz zu schweigen vom dadurch übertriebenen Kaffee, Zigaretten und Lebensmittelmissbrauchs den ich dabei betrieben hätte.
Hätt ich mir aber auch sparen können da es ja PyODE gibt, tja, wenn man solche Details nur schon vorher wüsste
Warscheinlich gibt es jo sowieso für jeden erdenklichen Zweck bereits irgendeine optimierte Version in C die irgendjemand eh schon mal eingebunden hat. Python != LowLevel, und ich finde das auch gut so.
lgherby
Das hab ich mal bei einem Feder-Masse System gemacht da ich da mit der Performance alles andere als zufrieden war. Aber dafür war die reine Python Version schnell fertig

Hätt ich mir aber auch sparen können da es ja PyODE gibt, tja, wenn man solche Details nur schon vorher wüsste

Warscheinlich gibt es jo sowieso für jeden erdenklichen Zweck bereits irgendeine optimierte Version in C die irgendjemand eh schon mal eingebunden hat. Python != LowLevel, und ich finde das auch gut so.
lgherby
Einigermaßen komplett würde ein Geschwindigkeitsvergleich zwischen Sprachen erst, wenn man auch noch die Geschwindigkeit aufnimmt, die Hineindenken und Umsetzen in Code in Anspruch nehmen. Dazu noch die Fehlerrate oder Zeit für's Suchen von sprachspezifisch häufigen Problemen (schwer zu findende malloc-Probleme sind außerhalb von C/C++ ja eher selten) und schon sieht das alles ganz anders aus. Und wer Spaß hat, rechnet noch Entwicklungszeit und Betriebskosten gegen, damit sich der Chef ein paar $$$-Statistiken ansehen kann.