Я прочитал несколько уроков. в Haskell. Однако мне не удалось заставить скомпилированное приложение работать на многоядерном процессоре (у меня четырехъядерный процессор Intel) в Windows (32-разрядная версия).
Я пробовал несколько вещей:
Но не повезло.
Скомпилированное приложение работает на 100% только на одном ядре.
Есть идеи?
Код:
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)