
Hello everyone, I'm having a consistency issue with the following piece of code: heavyAm = 500 lightAm = 1000 heavyCalc :: Int -> Int heavyCalc s = sum [1..1000000*s] parallel = (heavyCalc lightAm, heavyCalc heavyAm) `using` (parTuple2 rseq rseq) For some reason, during runtime the RTS sometimes parallelizes the evaluation and sometimes it doesn't. I'm running with all the RTS/compile time options correctly afaik. Here is the output from a couple of runs of the program: jmartty@walrus:~/hs/parallel$ stack build && time stack exec par-exe Warning: File listed in par.cabal file does not exist: README.md (500000000500000000,125000000250000000) Computation time: 1.557007s real 0m1.732s user 0m2.528s sys 0m0.464s jmartty@walrus:~/hs/parallel$ stack build && time stack exec par-exe Warning: File listed in par.cabal file does not exist: README.md (500000000500000000,125000000250000000) Computation time: 1.544837s real 0m1.720s user 0m2.544s sys 0m0.712s jmartty@walrus:~/hs/parallel$ stack build && time stack exec par-exe Warning: File listed in par.cabal file does not exist: README.md (500000000500000000,125000000250000000) Computation time: 2.316537s real 0m2.484s user 0m2.592s sys 0m0.680s jmartty@walrus:~/hs/parallel$ stack build && time stack exec par-exe Warning: File listed in par.cabal file does not exist: README.md (500000000500000000,125000000250000000) Computation time: 2.318514s real 0m2.489s user 0m2.612s sys 0m0.688s jmartty@walrus:~/hs/parallel$ stack build && time stack exec par-exe Warning: File listed in par.cabal file does not exist: README.md (500000000500000000,125000000250000000) Computation time: 1.544975s real 0m1.718s user 0m2.512s sys 0m0.456s As you can see, sometimes wall time roughly equals userspace time, sometimes it doesn't (meaning it parallelized at least some amount). I'm running on a dual core machine under Ubuntu using stack with lts-7.14 (GHC 8.0.1) and parallel-3.2.1.0. Regards, Juan