
16 Feb
2008
16 Feb
'08
7:41 p.m.
2008/2/17, Stefan O'Rear
This makes perfect sense - -N2 tells GHC to use two threads, and if you run two threads on a single-processor system it's implemented by running the threads alternatingly (around 100/s for modern Linux, probably similar for other systems). Thus, the two evaluations never get more than a hundreth of a second out of step, and memory usage is still low.
Stefan
Test on windows XP AthlonX2 4200+ 2Gb: C:\imp>test 1 12328 ms C:\imp>test +RTS -N2 1 5234 ms C:\imp>test +RTS -N2 1 3515 ms 1st - 1 thread 2nd - 2 threads on single core (one core disabled through Task Manager) 3rd - 2 threads on different cores