以下PLINQ代码没有任何改进

Mat*_*olf 3 c# linq sorting plinq

我没有看到使用以下代码处理速度的任何改进:

IEnumerable<Quote> sortedQuotes = (from x in unsortedQuotes.AsParallel()
                                           orderby (x.DateTimeTicks)
                                           select x);
Run Code Online (Sandbox Code Playgroud)

顺序版本:

IEnumerable<Quote> sortedQuotes = (from x in unsortedQuotes
                                           orderby (x.DateTimeTicks)
                                           select x);
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?我将源集合中的项目数量从数千个变为数千万个,并且没有大小显示并行版本即将发布.

任何提示赞赏.顺便说一句,如果有人知道更快速的排序方式(给定我指示的项目变量类型(包含项目在集合中排序的长DateTimeTicks),这也是值得欣赏的.

编辑:"有效排序" - >尽快.

谢谢

Hen*_*man 6

根据这个页面,

如果在查询中有一个排序,那么将使用stop-and-go代替,因为对排序的输出进行流水线操作是浪费的.排序表现出极高的延迟[...],因此PLINQ更愿意将所有处理能力用于尽快完成排序.

您的查询包含一个Sort,select不计算.因此PLINQ引擎将按顺序执行它.

当排序是较大查询的一部分时,您只能期望得到一些改进.