Parallel LINQ (PLINQ)

Parallel LINQ (PLINQ) is a parallel implementation of LINQ to Objects. PLINQ implements the full set of LINQ standard query operators as extension methods for the System.Linq namespace and has additional operators for parallel operations. PLINQ combines the simplicity and readability of LINQ syntax with the power of parallel programming. Just like code that targets the Task Parallel Library, PLINQ queries scale in the degree of concurrency based on the capabilities of the host computer.

In many scenarios, PLINQ can significantly increase the speed of LINQ to Objects queries by using all available cores on the host computer more efficiently. This increased performance brings high performance computing power onto the desktop.

In This Section

Introduction to PLINQ

Understanding Speedup in PLINQ

Order Preservation in PLINQ

Merge Options in PLINQ

How to: Create and Execute a Simple PLINQ Query

How to: Control Ordering in a PLINQ Query

How to: Combine Parallel and Sequential LINQ Queries

How to: Handle Exceptions in a PLINQ Query

How to: Cancel a PLINQ Query

How to: Write a Custom PLINQ Aggregate Function

How to: Specify the Execution Mode in PLINQ

How to: Specify Merge Options in PLINQ

How to: Iterate File Directories with PLINQ

How to: Measure PLINQ Query Performance

PLINQ Data Sample

See Also

ParallelEnumerable
Parallel Programming
LINQ (Language-Integrated Query)