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

2024-02-22

我很好奇 Parallel.ForEach 的性能特征。给定 Parallel.ForEach 循环内的任何有效构造,使用 Parallel.ForEach 是否总是比 foreach 循环更可取?我特别想知道在小型集合或 foreach 循环可能更快的其他边缘情况下调用并行任务库的开销。我知道该库对于何时/如何生成线程非常聪明...是否存在最好将代码留在 foreach 循环中的情况,或者调用并行任务的开销通常可以忽略不计,所以如果可以的话,您应该使用Parallel.ForEach?

这个问题是相似的,提供了很好的功能差异信息,但并没有真正谈到性能。请注意,我忽略了对 .NET

C#:与普通的 foreach 循环相比,List.ForEach(...) 有什么好处吗? https://stackoverflow.com/questions/1924535/c-any-benefit-of-listt-foreach-over-plain-foreach-loop


这并不总是更好。对于快速循环体,Parallel.ForEach 会降低性能。中列出的指南之一并行编程编码指南 http://download.microsoft.com/download/b/c/f/bcfd4868-1354-45e3-b71b-b851cd78733d/parallelprogramsinnet4_codingguidelines.pdf is to measure并行化之前和之后。

其他有用的文章已由并行计算组 http://msdn.microsoft.com/en-us/concurrency/ee851578.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Parallel.ForEach 与 foreach 的指导原则是什么? 的相关文章

  • 有谁知道一种更快的方法来执行 String.Split() 吗?

    我正在读取 CSV 文件的每一行 并且需要获取每一列中的各个值 所以现在我只是使用 values line Split delimiter where line是保存由分隔符分隔的值的字符串 衡量我的表现ReadNextRow我注意到它花费
  • 更换 I 过滤器

    我目前正在使用 IFilters 从各种文件 word excel tiff pdf 等 中提取文本 据我所知 IFilter 已在 Windows 8 中停止使用 是否有人对如何在不安装本机应用程序的情况下提取文本有任何建议 如果有什么用
  • 如何在 VS2017/2015 中打开 .xproj 文件

    我有一个带有扩展名的 NET core 项目 xproj 当我在VS 2017中打开项目时 项目文件 xproj migrated to csproj 如何打开 xproj 文件 Visual Studio 2017 2015 我需要安装任
  • 设置 Form.KeyPreview = true 的缺点?

    我想知道 Form KeyPreview 属性实际上有什么用处 它为什么存在以及将其设置为 true 会带来什么 风险 我想它一定有some负面影响 否则它根本不应该存在 或者至少默认情况下是正确的 EDIT 我很清楚what确实如此 我问
  • c#.NET 和 sprintf 语法

    这段代码如何翻译成 C 具体来说是如何sprintf用C 实现 string output The user s logged in string loggedIn is string loggedOut isn t if TheUser
  • “你好世界!!”在 .NET 4 中生成 3500 个页面错误

    我正在运行 Windows Vista 和 Visual Studio 2010 使用 NET 4 2 GB RAM 和大约 800 MB 可用空间 我创建了一个 Windows 窗体应用程序 但没有向其中添加任何代码 只需在发布模式下编译
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 如何根据给定的点生成热图

    我想生成 Windows 形式的热图 我有一组点作为输入 如何以最简单的方式做到这一点 谢谢 基于此处已有的答案 此方法允许您指定Colors您希望用作最大和最小颜色 private Color HeatMapColor double va
  • NuGet:包含 .pdb 文件并排除“Content”文件夹

    我已将以下行合并到 CI 构建中在每个构建上创建一个私有 NuGet 包 nuget pack C Projects Test Test vbproj OutputDirectory nas1 NuGet The 读取AssemblyInf
  • 防止重入并确保某些操作获取锁的正确方法是什么?

    我正在设计一个基类 当继承该基类时 它将针对多线程环境中的上下文提供业务功能 每个实例可能都有长时间运行的初始化操作 所以我想让这些对象可重用 为此 我需要能够 为这些对象之一分配上下文以允许其完成工作 防止对象在已有上下文的情况下被分配新
  • 为什么 C# 不支持类构造函数中的隐式泛型类型?

    如果编译器可以推断出泛型类型参数 C 并不要求您指定它 例如 List
  • 自定义代码访问安全属性

    我创建了以下属性 Serializable AttributeUsage AttributeTargets Class AttributeTargets Method AllowMultiple true Inherited true pu
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创

随机推荐

  • Spring环境下,我在新项目中还应该使用Hystrix吗?

    看来Hystrix https github com Netflix Hystrix已接近生命周期结束 Netflix 堆栈现在已被弃用 我们正在为一个全新的项目构建一个堆栈 我们需要一个断路器 我们的默认选择是 Hystrix 因为它众所
  • 我的设备没有收到其他通知 (FCM)

    我迁移到 Firebase Cloud Messaging 当第一次尝试发送消息时 我使用 Firebase 中的控制台收到了一条通知 然后在几分钟后尝试发送另一个通知 但我不再收到另一个通知 但在我的 Firebase 控制台中 它说它是
  • PowerShell 如何在解析的 JSON 上添加一些内容?

    我想使用 PowerShell 在解析的 JSON 中添加一些内容 我的代码 function ConvertFromJson string file System Reflection Assembly LoadWithPartialNa
  • 通过调用计算taxAmount的方法只能得到$0

    我在执行以下调用时遇到问题 特别是最后一个组件 Console WriteLine Taxpayer 0 SSN 1 Income is 2 c Tax is 3 c i 1 taxArray i SSN taxArray i grossI
  • 如何传递 shell 命令的实时 stdout 行以在 Rust 中运行?

    我想逐行获取命令行的实时输出 并将该行传递给另一个函数以进行进一步处理 我有以下代码用于读取输出 fn output x str gt Result lt Error gt let stdout Command new strace arg
  • 使用TDB2和OWL Reasoner配置fuseki

    这里是 fusioni jena 的新手 我设法让 fusioni 使用 tdb1 与 OWLFBRuleReasoner 一起运行没有问题 但无法使其与 tdb2 一起工作 http jena apache org 2016 tdb ht
  • Angular 5 中的页眉和页脚

    我正在用 Angular 5 创建我的网站 我的网站中有主页 商店和类别页面 最初 我决定在整个网站上保持页眉和页脚全局 我的意思是创建页眉和页脚组件并将它们用作指令
  • trigger.io Android 应用程序启动图像首选项问题

    刚刚完成了我的 trigger io 应用程序的第一个版本 并在 android 和 ios 平台上成功进行了测试 trigger io v1 4 forge 工具 v3 3 11 然而 我有一个小故障 我无法更改 Android 默认的
  • Java:catch 块可以是多态的吗?

    在我要复习的一篇论文中 我被问到 catch 块可以是多态的吗 如果属实 那么对我来说调用多个就没有意义catch块多态性 是否是多态性如果catch块无法命名并且仅在其方法头中包含参数 例如 try catch FileNotFoundE
  • Heroku 指南针 buildpack 指南针失败

    我正在尝试将指南针构建包推送到heroku服务器 https github com stephanmelzer heroku buildpack nodejs grunt compass https github com stephanme
  • 如何删除 json_encode() 函数上的反斜杠?

    如何去除 字符串上的反斜杠 使用时echo json encode 例如 注意 当你 echo str 时 不会有问题 但是当你 echo out 使用json encode the 反斜杠将会出现 有办法解决这个问题吗 json enco
  • 在 MongoLab 上运行的 MongoDB 中的日期语法是什么?

    对象 ID 不是 ObjectId 82he921he982he82 而是 id oid 82he921he982he82 但我不知道如何在 MongoLab 上的文档中创建日期值 s 如果您使用其中一个驱动程序 则可以通过该语言的 Dat
  • 如何在 iOS 中引用刚刚拍摄的照片?

    我正在编写一个应用程序 允许用户拍照然后在图像视图中显示它 我知道我需要编写一行类似于以下内容的代码 imageView image picker image 但我不确定我需要用什么来代替picker image 这就是我目前所拥有的 它给
  • 我们可以强制函数在c++中内联吗

    一般来说 inline关键字只是对编译器的一个请求 编译器会根据函数的实现来决定是否进行内联扩展 但是有什么方法可以强制函数内联吗 我们该怎么做呢 这完全依赖于编译器 一些编译器提供了执行您想要的操作的方法 For gcc看一眼this h
  • UnitTesting Android TabActivity 时出现 Nullpointer 异常

    我目前正在对示例 TabLayout 进行单元测试安卓网站 http developer android com resources tutorials views hello tabwidget html 我在进行单元测试时遇到 Null
  • Angular Material Snackbar 更改颜色

    我正在使用 Angular 7 和 Material Snackbar 我想将 Snackbar 的颜色更改为绿色 在 app component ts 中 我有 this snackBarRef this snackBar open re
  • Erlang:元组列表转换为 JSON

    我有一个元组列表 它们是 http 标头 我想将列表转换为 JSON 对象 我尝试 mochijson2 但无济于事 所以我有以下内容 Accept text html application xhtml xml application x
  • Savon—配置为使用 TLS 1.2

    我正在开发一个使用 Savon 连接到 SalesForce api 的旧项目 我收到此错误 UNSUPPORTED CLIENT TLS 1 0 has been disabled in this organization Please
  • oracle plsql:如何解析XML并插入到表中

    如何将嵌套的 xml 文件加载到数据库表中
  • Parallel.ForEach 与 foreach 的指导原则是什么?

    我很好奇 Parallel ForEach 的性能特征 给定 Parallel ForEach 循环内的任何有效构造 使用 Parallel ForEach 是否总是比 foreach 循环更可取 我特别想知道在小型集合或 foreach