Using Parallel LINQ
Introduction
Geoffrey Moore, founder of Intel, is attributed with stating what is referred to as "Moore's Law." Roughly, Moore's Law states that integrated circuit chips will double the number of semiconductors approximately every year. (I think the law includes a cost reduction by half, too.) Recently this concept was updated to a doubling approximately every 18 months. As semiconductors approach physical density limits, a new trend seems to be to include additional processors in devices, and devices with multiple cores.
Whether my recollection of the specifics of Moore's Law is precise or not, all of this processing power suggests that a lot of raw physical power and processing capacity are waiting to be employed. That leads us to our topic.
At the skunk works in Redmond, they're working on extensions to Language Integrated Query (LINQ) referred to as Parallel LINQ (PLINQ). PLINQ makes it easy to use multiple threads and all that processing power. This article shows you how and provides some parameters and guidelines for when you can get some extra horsepower out of multithreading your LINQ queries.