我想知道LINQ&和LINQ之间的区别PLINQ在执行方面?
当我们应该使用PLINQ而不是LINQ时才讨论一些情况
这里给出了两个代码。一个由LINQ完成,另一个由PLINQ完成。
告诉我有什么不同以及两个代码在做什么?
LINQ
var q = from file in fileList
where file.Length > 10000
select file;
PLINQ
var q = from file in fileList.AsParallel()
where file.Length > 10000
select file;
请参阅上面的代码并告诉我代码如何执行以及执行方面的区别是什么?感谢
答案 0 :(得分:3)
当负载可以跨CPU核心传播时,PLINQ(以及一般的并行性)仅提供潜在的性能优势。并行性不会改善磁盘I / O,网络I / O或远程资源。它可以改善内存访问,但内存通常也受带宽限制。
运行代码并观察CPU使用情况。如果CPU的一个核心跳到100%,那么CPU就是一个瓶颈,你可能会从并行性中受益;否则CPU不是你的瓶颈,并行运行可能不会提高你的性能。
请注意,最后,唯一可以确定的方法是尝试两种方式并衡量差异。其他任何事情都只是猜测。
答案 1 :(得分:0)
PLinq是Linq的并行版本,这意味着某些查询可以在多个线程上执行,然后PLinq会提高性能。权衡取舍与您在使用并行编程或顺序Choosing between both之间进行选择相同。