[Haskell-beginners] parallel program in haskell in 5 steps

Jack Kennedy jack at realmode.com
Tue May 5 17:05:56 EDT 2009


I am compiling (Windows by the way) using the line from the tutorial:
ghc -O2 --make par.hs -threaded

and running with the line

par +RTS -N2

CPU usage for the process flits around a little, but stays in the 45% - 55%
range.

On Tue, May 5, 2009 at 12:51 PM, Michael Snoyman <michael at snoyman.com>wrote:

> How are you running the program? You have to explicitly tell the
> compiler/interpreter to use multiple system threads.
>
> Michael
>
> On Tue, May 5, 2009 at 10:19 PM, Jack Kennedy <jack at realmode.com> wrote:
>
>> In step 4 of Haskell in 5 Steps [
>> http://haskell.org/haskellwiki/Haskell_in_5_steps],
>> 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 at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20090505/ce07c344/attachment-0001.htm


More information about the Beginners mailing list