我没有看到使用以下代码的处理速度有任何改进:
IEnumerable<Quote> sortedQuotes = (from x in unsortedQuotes.AsParallel()
orderby (x.DateTimeTicks)
select x);
在顺序版本上:
IEnumerable<Quote> sortedQuotes = (from x in unsortedQuotes
orderby (x.DateTimeTicks)
select x);
我在这里错过了什么吗?我将源集合中的项目数量从数千个更改为数千万个,并且没有大小显示并行版本领先。
任何提示表示赞赏。顺便说一句,如果有人知道一种更快的方法来更有效地排序(鉴于我指定的项目变量类型(包含一个长的 DateTimeTicks,项目在集合中进行排序),那也将不胜感激。
编辑:“高效排序”-> 尽可能快。
Thanks
根据这一页 http://msdn.microsoft.com/en-us/magazine/cc163329.aspx,
如果查询中有排序,则将使用走走停停的方式,因为管道化排序的输出是浪费的。排序表现出极高的延迟 [...],因此 PLINQ 更愿意投入所有处理能力来尽快完成排序。
您的查询only包含排序,选择不算数。因此 PLINQ 引擎将按顺序执行它。
仅当排序是较大查询的一部分时,您才能期望得到一些改进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)