Parallel LINQ (PLINQ) is a parallel
implementation of the LINQ pattern. A PLINQ query in many ways resembles a
non-parallel LINQ to Objects query.
PLINQ is a query execution engine
that accepts any LINQ-to-Objects or LINQ-to-XML query and automatically
utilizes multiple processors or cores for execution when they are available
The primary difference is that
PLINQ attempts to make full use of all the processors on the system. It does
this by partitioning the data source into segments, and then executing the
query on each segment on separate worker threads in parallel on multiple
processors
Limitations
PLINQ
only works against local collections. This means that if you’re using LINQ
providers over remote data, such as LINQ to SQL or ADO.NET Entity Framework,
then you’re out of luck for this version.
Since
PLINQ chunks the collection into multiple partitions and executes them in
parallel, the results that you would get from a PLINQ query may not be in the
same order as the results that you would get from a serially executed LINQ
query.
No comments:
Post a Comment