我试图通过使用Parallel Extensions使我的计算应用程序更快。我是新手,所以我刚用Parallel.ForEach替换了主foreach循环。但计算变得更慢。降低并行扩展性能的常见原因是什么?
由于
答案 0 :(得分:1)
如果满足许多条件,您只能通过并行运行来获得改进。首先,为什么你会期望提速?
您可以预期性能提升的情况如下。
如果你有一个核心和许多小型操作,上下文切换和分配管理并行线程所需资源所需的额外工作可能会超过优势。
如果您描述您的具体案例,我们可以尝试推测为什么它在您的示例中较慢。
实际上,关于并行计算的WikiPedia条目有一些很好的信息,请参阅http://en.wikipedia.org/wiki/Parallel_computing
你想特别注意阿姆达尔的法律。