[Haskell-cafe] GHC's parallel garbage collector -- what am I doing wrong?

Daniel Fischer daniel.is.fischer at web.de
Mon Mar 1 12:16:33 EST 2010

Am Montag 01 März 2010 16:59:54 schrieb Michael Lesniak:
> I've (again) a very strange behaviour with the parallel GC and would be
> glad if someone could either reproduce (and explain) it or provide a
> solution.

Sorry, can't reproduce it:

$ for i in `seq 1 5`; do time ./mlPi 5000 +RTS -N1; done
7.54user 0.02system 0:07.57elapsed 99%CPU 
7.53user 0.02system 0:07.56elapsed 99%CPU
7.70user 0.01system 0:07.72elapsed 99%CPU
7.55user 0.02system 0:07.57elapsed 99%CPU
7.57user 0.01system 0:07.58elapsed 99%CPU

$ for i in `seq 1 5`; do time ./mlPi 5000 +RTS -N2; done
7.76user 0.02system 0:07.68elapsed 101%CPU
7.69user 0.02system 0:07.63elapsed 101%CPU
7.94user 0.04system 0:07.89elapsed 101%CPU
7.72user 0.02system 0:07.64elapsed 101%CPU
7.68user 0.04system 0:07.62elapsed 101%CPU

$ for i in `seq 1 5`; do time ./mlPi 5000 +RTS -N2 -qg; done
7.56user 0.02system 0:07.58elapsed 99%CPU
7.58user 0.00system 0:07.58elapsed 99%CPU
7.55user 0.01system 0:07.57elapsed 100%CPU
7.57user 0.02system 0:07.58elapsed 100%CPU
7.56user 0.00system 0:07.57elapsed 99%CPU

Seems your system has a problem synchronising the cores for GC.

More information about the Haskell-Cafe mailing list