gpt4 book ai didi

.net - Parallel.ForEach与foreach的指导原则是什么?

转载 作者:行者123 更新时间:2023-12-04 03:35:00 24 4
gpt4 key购买 nike

我对Parallel.ForEach的性能特征感到好奇。给定Parallel.ForEach循环内的任何有效构造,是否始终优选在foreach循环上使用Parallel.ForEach?我特别想知道在小集合或foreach循环可能更快的其他极端情况下调用Parallel Tasks库的开销。我知道该库对于何时/如何生成线程非常聪明...在某些情况下,最好只将代码留在foreach循环中,或者通常可以忽略调用并行任务的开销,所以如果可以的话,应该使用Parallel.ForEach?

这个问题很相似,提供了很好的功能差异信息,但并没有真正影响性能。请注意,我忽略了与.NET <4的兼容性,以此作为保留foreach的理由:

C#: Any benefit of List<T>.ForEach(...) over plain foreach loop?

最佳答案

这并不总是可取的。对于快速循环体,Parallel.ForEach可能会降低性能。 Parallel Programming Coding Guidelines中列出的准则之一是在并行化之前和之后都进行测量。

parallel computing group已发布了其他有用的文章。

关于.net - Parallel.ForEach与foreach的指导原则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2828429/

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