Po uruchomieniu tego fragmentu kodu Haskella ładowany jest tylko 1 procesor. Zarówno f
, jak i g
są bezsensowne, ale czy nie powinny ładować dwóch procesorów, jeśli są dostępne? Skompilowany jako ghc -O2 snippet.hs
.Równoległe obliczenia w Haskell
f x = 1 + (f $! x)
g x = 5 + (g $! x)
z = a `par` b `seq` a+b
where
a = f 3
b = g 5
main = do
print z
próbował, ale wciąż widzę tylko 100% obciążenia, a nie 200% obciążenia (mają 4 rdzenie w moim CPU). – Cartesius00
Czekaj, zapomniałem, że musisz przekazać wykonywalną liczbę rdzeni, jak to: './snippet + RTS -N4' dla czterech rdzeni. –
To wszystko! Dziękuję :) – Cartesius00