微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多处理 - 如何最大化 CPU 使用率?

如何解决多处理 - 如何最大化 CPU 使用率?

我有一个关于充分利用 cpu 功能的模式/良好做法的问题。

我有一个包含多个元素和 K 个进程的队列(K == cpu_counts)。 每个进程从队列中取出一个元素并进行处理。

yournamespace.YourClassName.YourPropertyKey

self.process_item(item) 调用一个可执行文件并将结果写入一个独立的文件:每个计算都独立于其他进程[在这种情况下,我不能使用多线程,因为我每次都需要更改文件夹才能运行可执行文件]

可执行文件在大约 1 秒内运行,而且它的 cpu 成本并不特别高。 所以,一般来说,当我运行我的代码时,cpu 似乎或多或少未被使用,因为每个进程在不同的内核上运行可执行文件,但可执行文件本身的计算量并不大。

有没有办法让 cpu 处于全功率并更快地处理更多元素?

增加 K > n_cpus 可以提高性能还是只增加进程间切换的开销

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。