On 25/04/2009 13:31, j.waldmann wrote:
Here is some more data. It seems the behaviour depends on 32/64 bit arch?

#######################################################

waldm...@master:~/tmp$ uname -a
Linux master 2.6.18-6-amd64 #1 SMP Fri Dec 12 05:49:32 UTC 2008 x86_64
GNU/Linux

waldm...@master:~/tmp$ time ./Par +RTS -N1
496165411
496165411

real    0m22.580s
user    0m22.541s
sys     0m0.040s
waldm...@master:~/tmp$ time ./Par +RTS -N2
496165411
496165411

real    0m21.259s
user    0m26.678s
sys     0m0.164s

########################################################

waldm...@box:~/tmp>  uname -a
Linux box 2.6.27.21-0.1-pae #1 SMP 2009-03-31 14:50:44 +0200 i686 i686 i386
GNU/Linux

waldm...@box:~/tmp>  time ./Par +RTS -N1
496165411
496165411

real    0m29.802s
user    0m29.670s
sys     0m0.028s
waldm...@box:~/tmp>  time ./Par +RTS -N2
496165411
496165411

real    0m11.219s
user    0m14.917s
sys     0m0.164s

This is a very strange result: the user time should not *decrease*, but rather should stay the same or increase a bit when adding cores. If your program is GC-bound, then using a 32-bit build will improve performance, simply because it is shoveling half as much memory around. Check whether it is GC-bound by using +RTS -sstderr.

Anyway, the current situation is that with GHC 6.10.2 there are a lot of performance quirks and bottlenecks with respect to parallel programs, some of which have been squashed in HEAD. Try a recent HEAD snapshot if you can, or wait for 6.12.1.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to