gpt4 book ai didi

c# - ParallelEnumerable.Range 与 Enumerable.Range.AsParallel 对比?

转载 作者:太空狗 更新时间:2023-10-29 20:07:59 24 4
gpt4 key购买 nike

ParallelEnumerable.RangeEnumerable.Range(...).AsParallel() 有什么区别?

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

其中 Enumerable.Range(...).AsParallel() 可能作为 rangechunk 执行

有什么性能差异吗?我什么时候应该使用哪个?

最佳答案

如果您执行的操作在迭代时 CPU 压力会增加,那么您将要使用 AsParallel,因为它可以在迭代时进行调整。但是,如果您只需要并行运行它并且该操作不会在迭代时产生更多压力,那么请使用 ParallelEnumerable.Range,因为它可以立即划分工作。

引用 this article以获得更详细的解释。

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

关于c# - ParallelEnumerable.Range 与 Enumerable.Range.AsParallel 对比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com