gpt4 book ai didi

c# - Plinq 里面的 Plinq?

转载 作者:行者123 更新时间:2023-11-30 15:36:59 28 4
gpt4 key购买 nike

假设我有一个 DataTable

var dt = getDataTable();

然后我做

Parallel.For (0, dt.Rows.Count, i => Foo (dt.Rows[i]));

Foo 是一个对 row 进行一些计算的函数。

Foo 是否应该 使用 Plinq ?还是不应该?

(已经分完再分核心是没有意义的。)

最佳答案

Should Foo also use Plinq ? or Should not ?

一般来说,您通常只想在可能的“最高级别”进行并行化。通过制作更大的工作项,您可以最大限度地提高总吞吐量,因为您减少了安排工作所需的开销。

如果您在 Parallel.For 循环中使用 PLINQ,则会增加开销(以便安排工作项),但无法利用更多内核,因此你可能会降低你的整体表现。因此,在这种情况下,我不建议在 Foo 内部使用 PLINQ(前提是 DataTable 有足够的行可以很好地并行化)。

关于c# - Plinq 里面的 Plinq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145795/

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