この Haskell スニペットを実行すると、1 つの CPU しかロードされません。f
とはどちらもg
無意味ですが、使用可能な場合は 2 つの CPU をロードするべきではありませんか? としてコンパイルされghc -O2 snippet.hs
ます。
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