[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