gpt4 book ai didi

.net-4.0 - 嵌套并行查询

转载 作者:行者123 更新时间:2023-12-05 00:40:15 25 4
gpt4 key购买 nike

运行嵌套的 PLINQ 查询有什么问题吗?

例如:

//Contains roughly 7000+ elements
mycollections.AsParallel().ForAll(x => {

//contains 12 elements
anothercollection.AsParallel().ForAll(y => {
//download some data from the web and parse it
});
});

最佳答案

使用嵌套查询没有基本问题,因此您当然可以这样做,PLINQ 将尽最大努力尽可能高效地并行化代码。但是,这可能是需要考虑的事情,如果您想获得最佳性能,您绝对应该运行一些测量。

最佳选择取决于两个集合中的元素数量以及运行处理所需的时间。

  • 如果外部集合足够小,那么您也需要内部循环,以便为并行化创造足够的潜力(为 PLINQ 生成足够多的任务,以便它可以平衡执行)
  • 如果外部集合包含大量元素,则内部循环可能是不必要的,因为单个外部循环足以为 PLINQ 提供足够的并行化空间。事实上,内循环可能只是增加了开销(不过,根据我的经验,这只会发生在非常多的元素上)

  • 此外,如果您只想并行化一个循环,它应该是外部循环。通过这种方式,所有工作都可以一次拆分,并且您只会产生一次并行化开销。

    关于.net-4.0 - 嵌套并行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3851909/

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