windows – CPU密集型线程智慧
发布时间:2020-12-13 22:38:04 所属栏目:Windows 来源:网络整理
导读:我想在一台机器上运行一批20个CPU密集型comps(基本上很长时间嵌套for循环). 这20个工作中的每一个都不与其他工作共享数据19. 如果机器有N个核心,那么我应该将这些工作中的N-1分开吗?还是N?或者我应该只启动所有20,并让Windows弄清楚如何安排它们? 解决方
我想在一台机器上运行一批20个CPU密集型comps(基本上很长时间嵌套for循环).
这20个工作中的每一个都不与其他工作共享数据19. 如果机器有N个核心,那么我应该将这些工作中的N-1分开吗?还是N?或者我应该只启动所有20,并让Windows弄清楚如何安排它们? 解决方法
不幸的是,没有简单的答案.确切知道的唯一方法是实现然后分析您的应用程序.
通常,为了获得最大吞吐量,如果作业是纯CPU,则每个核心需要一个.根据工作类型,这将包括每个超线程代码一个或每个“真正的物理核心”一个. (如果所有20个工作的工作相同,那么超线程通常会减慢整体工作……) 如果作业具有任何非CPU功能(例如读取文件,等待任何事情等),那么>每个核心的1个工作项往往会好得多.在许多情况下,这将会改善. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows – 如何在Visual Studio编辑器中禁用字体
- windows – 通过Ruby持久化环境变量
- 是卸载/重新安装在Windows 7上更新PyCharm的最佳
- 如何在Windows Azure中使用PHP发送电子邮件?
- 使用托管服务帐户启动Windows docker容器时出错
- cx_freeze include_msvcr没有捆绑Windows VC2015
- win10 子系统 ubuntu 16.04 安装 docker
- 使用PowerShell运行我的第三方DLL文件
- windows – 可以安全地更改活动文件系统上的NTFS
- Windows API一日一练 88 EnumProcesses函数
热点阅读