
Apologies, didn't see the link on my phone :)
As the comment on the link shows, youre accidentally migrating unevaluated
work to the main thread, hence no speedup.
Be very careful with evaluation strategies (esp. lazy expressions) around
MVar and TVar points. Its too easy to put a thunk in one.
The strict-concurrency package is one attempt to invert the conventional
lazy box, to better match thge most common case.
On Mar 4, 2013 7:25 PM, "Łukasz Dąbek"
What do you exactly mean? I have included link to full source listing: http://hpaste.org/83460.
-- Łukasz Dąbek
2013/3/4 Don Stewart
: Depends on your code...
On Mar 4, 2013 6:10 PM, "Łukasz Dąbek"
wrote: Hello Cafe!
I have a problem with following code: http://hpaste.org/83460. It is a simple Monte Carlo integration. The problem is that when I run my program with +RTS -N1 I get: Multi 693204.039020917 8.620632s Single 693204.039020917 8.574839s End
And with +RTS -N4 (I have four CPU cores): Multi 693204.0390209169 11.877143s Single 693204.039020917 11.399888s End
I have two questions: 1) Why performance decreases when I add more cores for my program? 2) Why performance of single threaded integration also changes with number of cores?
Thanks for all answers, Łukasz Dąbek.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe