में समानांतर गणना जब मैं इस हास्केल स्निपेट को चलाता हूं तो इसे केवल 1 सीपीयू लोड किया जाता है। f
और g
दोनों गैर-समझदार हैं, लेकिन क्या उपलब्ध होने पर दो CPU लोड नहीं करना चाहिए? ghc -O2 snippet.hs
के रूप में संकलित।हास्केल
./snippet +RTS -N4
या आप हो सकता है:
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
की कोशिश की देखो, लेकिन मैं अभी भी केवल 100% लोड देखते हैं, नहीं 200% लोड (मेरी सीपीयू में 4 कोर है)। – Cartesius00
रुको, मैं भूल गया कि आपको निष्पादन योग्य कोर की संख्या को पास करने की भी आवश्यकता है, जैसे: चार। कोर के लिए './snippet + RTS -N4'। –
यही वह है! धन्यवाद :) – Cartesius00