Multi-Core-Haskell unter Windows
-
05-07-2019 - |
Frage
Ich habe eine Reihe von Tutorials auf Haskell. Allerdings habe ich nicht in der Lage gewesen, die kompilierte Anwendung bekommen auf einem Multi-Core zu laufen (Ich habe einen Intel Quad Core) auf Fenstern (32 bit) .
Ich habe eine Reihe von Dingen versucht:
Aber kein Glück.
Die kompilierte Anwendung läuft 100% auf einem Kern nur.
Irgendwelche Ideen?
Code:
import Control.Parallel
import Control.Monad
import Text.Printf
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = l `pseq` r `pseq` l+r
where
l = fib (n-1)
r = fib (n-2)
main = forM_ [0..350] $ \i ->
printf "n=%d => %d\n" i (fib i)
Lösung
Wenn vili korrekt ist (ich kann nicht testen, da ich besitze keine MS-Boxen), könnte es auf diese Fehler
Andere Tipps
Mit par statt pseq scheint es zu beheben.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow