gpt4 book ai didi

c# - 使用 Parallel.Foreach 的最短项目处理时间

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:46 25 4
gpt4 key购买 nike

假设我有一个当前在普通 foreach 循环中处理的项目列表。假设项目数明显大于核心数。根据经验,在我考虑将 for 循环重构为 Parallel.ForEach 之前,每个项目应该花费多少时间?

最佳答案

这是并行编程的核心问题之一。为了获得准确的答案,您仍然需要在确切的情况下进行测量。

然而,TPL 的一大优势是阈值比以前小得多,并且当您的工作项太小时您不会受到(同样多的)惩罚。

我曾经制作过一个包含 2 个嵌套循环的演示,我想展示只有外部循环应该并行运行。但是演示未能显示将两者都转换为 Parallel.For() 的显着缺点。

因此,如果您循环中的代码是独立的,那就去做吧。

#items/#cores 比率不是很相关,TPL 将划分范围并使用“正确”数量的线程。

关于c# - 使用 Parallel.Foreach 的最短项目处理时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603327/

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