
27 Nov
2007
27 Nov
'07
8:30 p.m.
Brad Clow:
However, I have a more complex app, where I haven't forgotton to use the right flags :-) and the utilisation of cores is very poor. I am thinking it is due to laziness. I am currently wondering how GHC handles the case where the function that is being forked uses lazy arguments?
Even with threads, results are evaluated only when they are needed (or when forced by a strictness annotation). So the thread that needs a result (or forces it) first will be the one to evaluate it. Did you see Don's strict-concurrency announcement yesterday? http://www.haskell.org/pipermail/haskell-cafe/2007-November/035292.html