a parallel program is given. I changed it very slightly so it would run a long time (see below).
It compiles and runs but my CPU meter is barely above 50%. I have a dual core processor.
What in the world would keep this program from completely saturating the CPU?
import Control.Parallel
main = a `par` b `pseq` print (a + b)
where
a = ack 4 10
b = ack 4 10
fac 0 = 1
fac n = n * fac (n-1)
ack 0 n = n+1
ack m 0 = ack (m-1) 1
ack m n = ack (m-1) (ack m (n-1))
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners