Archives
-
Parallel LINQ in Depth (4) Performance
Parallel LINQ is powerful, but also can be more complex. This part discusses Parallel LINQ query performance in different cases.
-
Parallel LINQ in Depth (3) Query Methods (Operators)
Parallel LINQ provides additional query methods and additional overrides for Aggregate method:
-
Parallel LINQ in Depth (2) Partitioning
The first step of Parallel LINQ is partitioning. The source values is split into several partitions, so that multiple threads can execute the query logic in parallel.
-
Parallel LINQ in Depth (1) Local Parallel Query and Visualization
So far, all the discussion for LINQ to Objects/XML does not involve multi-threading, concurrency, or parallel computing. This is by design, because pulling values from an IEnumerable<T> sequence is not thread-safe.When multiple threads simultaneously access one IEnumerable<T> sequence, race condition can occur and lead to unpredictable consequence. As a result, all the LINQ to Objects/XML queries are implemented in a sequential manner with a single thread. To scale LINQ in multi-processor environment, Since .NET Framework4.0, a parallel version of LINQ to Objects is also provided, called Parallel LINQ or PLINQ.