
Hello all, I'm new to Haskell, but have a good background in LISP/Scheme and do mostly C/C++ programming on a daily basis. I'm learning Haskell mainly because it provides facilities for concurrency on the language level, and I'm mainly interested in implementing parallel or massively parallel algorithms with Haskell. I have two questions that bother me. 1. Does the Haskell compiler make sure that there is no page sharing between threads, in order to avoid cache thrashing between cpus (a real killer on large SMP or ccNUMA systems) ? If so, are there functions/options to control this ? 2. I started with the very simple nfib example given in the manual for Control.Parallel (Section 7.18). On my systems using multiple cores makes the code actually slower than just using a single core. While the manual cautions that this could be the case for certain algorithms, I'm wondering whether this is the desired behaviour for this example. I'm using ghc 6.10.4 right now. Thank you for your help getting me started here. Thomas