Cuando ejecuto este fragmento de Haskell, solo carga 1 CPU. Tanto f
como g
carecen de sentido, pero ¿no debería cargar dos CPU cuando están disponibles? Compilado como ghc -O2 snippet.hs
.Computación en paralelo en 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
intentado, pero sigo sin ver la carga a 100%, no se carga al 200% (con 4 núcleos en mi CPU). – Cartesius00
Espera, se me olvidó que también debes pasar al ejecutable la cantidad de núcleos, como este: './snippet + RTS -N4' para cuatro núcleos. –
¡Eso es todo! Gracias :) – Cartesius00