gpt4 book ai didi

python - 如何设计我的 python 应用程序以跨多核并行工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:14 27 4
gpt4 key购买 nike

据我所知,在Python中,如果你在多核环境中使用普通线程,GIL通常会妨碍性能并对性能产生负面影响(因为线程会不断尝试获取和释放GIL)并在线程/处理器之间进行大量上下文切换)。

这就是为什么很多人开始使用绿色线程,例如小事件。 eventlet 库允许您让多个绿色线程协同工作,并在单个处理器中完美工作(更少的同步问题、快速生成/效率等)。

我的问题是,如果我有一个多核操作系统并要设计我的 python 应用程序,我应该遵循什么最佳实践或设计模式来充分利用协作线程(绿色线程)和多核处理器。

最佳答案

我第一次在有关 Youtube 增长的技术演讲中看到的非常通用的方法 [1] 是这样的:识别并解决你的瓶颈、饮酒、 sleep 等,然后再次继续解决瓶颈。

因此,当您有太多工作而核心闲置时,请运行更多进程。使用相同的方法,您将知道何时停止甚至缩小进程池。

[1] https://www.youtube.com/watch?v=ZW5_eEKEC28

关于python - 如何设计我的 python 应用程序以跨多核并行工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002047/

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