-
Und der Bulldozer schlägt sich doch ganz toll
Autor: fabiwanne 14.10.21 - 12:56
Soll noch einer über die Singlecore-Leistung von meinem FX-8370 beschweren hängt er hier doch den 9 Jahre neueren Ryzen-5-2600-Prozessor um das doppelte ab...
$ time python2 bubblesort-python-golem.py
Duration: 11.82015228272
real 0m11.858s
Komischerweise braucht er fürs julia-Programm zweieinhalb mal so lange wie im Artikel angegeben
Spaß bei Seite. Die 22s sind erstunken und erlogen.
Auch hier auf nem i5-6500
$ time julia bubblesort-julia-golem.jl
Duration: 0.233031921
real 0m0.605s
$ time python bubblesort-python-golem.py
Duration: 7.00068378448
real 0m7.021s
Faktor 10 ist eventuell drin. Aber auch nur weil der Autor:
a) Python kommt schlecht mit extrem kurzen Schleifen/Verzweigungen zurecht. Der Code besteht Literaly aus 2 einzeiligen schleifen und einer einzeiligen Verzweigung.
Genau deswegen musst er auf das Absurdbeispiel Bubblesort zurückgreifen. Hätte er Quicksort verwendet...
b) DOS-Zeilenumbrücke verwendet, die der Python Interpreter bei jedem durchlauf neu wegschmeißt. Das kostet etwa 1s. – Für Julia kann er offensichtlich UNIX-Umbrüche...
c) ausschließlich primitivoperationen auf doubles bei denen Python langsam ist, weil es die nicht kennt. Beim Strings sortieren würde man deutlich besser abschneiden. Oft genug deultich besser als Julia. – Deswegen machen die da keine Benchmarks
Btw. in C:
Duration: 155
real 0m0.156s
Kurz zusammengefasst: Die Julia-Leute haben die beste Propaganda-Abteilung. Würde man zufällig ein Benchmark in beiden Spracehn machen und nicht den absoluten Optimalfall aussuchensähe das ganze gaaaaanz anders aus.
1 mal bearbeitet, zuletzt am 14.10.21 12:58 durch fabiwanne.