> > 1. Don't use IEnumerable and Parallel.ForEach, List<T> is much faster. >
I don't have the bigger picture here, but IEnumerable and Parallel.ForEach go together like pancakes and ice cream. I'm even getting into the habit these days of making public methods that return collections prefer to return IEnumerable<T>. This means I have the freedom to consume them in parallel processing. Albahari's book C# in a Nutshell discusses parallel processing in general in chapter 23, and the Parallel class in particular over 7 dense pages. Richter covers the general subject in chapter 26 with 5 pages on Parallel. I'm pretty sure all your issues will be clarified in these pages and they're a really good read. Cheers, Greg
