在Linux上使用Taskset在多核系统上使用Python Global Interpreter Lock(GIL)解决方法?

在Linux上使用Taskset在多核系统上使用Python Global Interpreter Lock(GIL)解决方法?,第1张

在Linux上使用Taskset在多核系统上使用Python Global Interpreter Lock(GIL)解决方法?

我从未听说有人使用Taskset来提高Python的性能。这并不意味着您的情况不会发生,而是一定要发布您的结果,以便其他人可以批评您的基准测试方法并提供验证。

不过,就我个人而言,我将使用消息队列将I / O线程与CPU绑定的线程解耦。这样,您的前端现在完全受网络I /
O约束(有些使用HTTP接口,有些使用消息队列接口),非常适合您的线程情况。然后,CPU密集型进程可以使用多进程,也可以只是单个进程,等待工作到达消息队列。

从长远来看,您可能还需要考虑用Twisted或诸如eventlet之类的东西来替换线程化的I
/ O前端,因为即使它们对性能没有帮助,它们也应该提高可伸缩性。您的后端现在已经可以扩展,因为您可以根据需要在任意数量的计算机+ CPU上运行消息队列。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存