Chief hat geschrieben:Vielleicht solltest Du einfach mal versuchen auf /dev/null umzuleiten damit man reine Rechenarbeit/leistung besser abschätzen kann.
Das tu ich sowieso. Das hat mit dem Funktionsaufruf nichts zu tun.
Lass dir keine grauen Haare wachsen. Ich werde mir das noch in Ruhe ansehen und das ganze beschleunigen.
Einen Faktor 2 bis 3 gegenüber C hatte ich sowieso erwartet. Das ist der Tribut, den man mit einer funktionalen Programmiersprache halt bezahlt.
Ich vermute, wenn ich alles bis zum Exzess ausreize, dass der Code an die C Version rankommen wird. Allerdings ist das dann kein "schönes" haskell mehr.
Interessant wäre noch ein Java und ein C# Beispiel.
Da würde ich gefühlsmässig auf folgendes tippen:
Java wird punkto Laufzeit weit hinter C,C++ und auch haskell liegen.
C# wahrscheinlich knapp hinter C/C++
Ich mag allerdings weder Java , noch C#, darum werde ich in diesen Sprachen keinen Code verfassen.
Ich vermute, die Laufzeitsieger werden C und Fortran sein. Auf das Fortranergebnis bin ich schon sehr gespannt.