首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ParallelEnumerable.Range vs Enumerable.Range.AsParallel?

ParallelEnumerable.Range vs Enumerable.Range.AsParallel?
EN

Stack Overflow用户
提问于 2012-09-29 02:23:15
回答 1查看 2.1K关注 0票数 7

ParallelEnumerable.RangeEnumerable.Range(...).AsParallel()之间的区别是什么

ParallelEnumerable.Range创建范围分区(最适合于每个项目的cpu时间相等的操作)

其中,as Enumerable.Range(...).AsParallel()可以作为rangechunk执行

性能上有什么不同吗?我应该在什么时候使用哪一个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-29 02:35:47

如果你正在执行一个CPU压力随着迭代而增加的操作,那么你会想要使用AsParallel,因为它可以在迭代时进行调整。但是,如果您只需要并行运行,并且操作在迭代时不会产生更多压力,那么可以使用ParallelEnumerable.Range,因为它可以立即对工作进行分区。

参考this article获取更详细的解释。

因此,让我们假设您在每次迭代中执行一些复杂的数学运算,并且随着输入值的增长,数学运算所需的时间更长,您将希望使用AsParallel,以便它可以进行调整。但是,如果您使用相同的选项,例如设置注册表设置,您将看到性能下降,因为与AsParallel相关的开销是不必要的。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12645354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档