如何让python使用更多的CPU?

问题描述 投票:0回答:1

我有一个性能非常重的python脚本,我想加快速度。即使进程的优先级设置为“实时”,它也仅使用12个内核之一的10%。如何使python使用更多,从而更快地完成任务?还是有一个上限来防止每次执行x次以上的计算/操作?预先感谢!

python optimization resources cpu cpu-usage
1个回答
0
投票

您要问的是对代码进行“概要分析”的广阔领域。您需要查看花费最多的时间(可能是“隔离”时间),然后更深入地了解造成这种情况的原因。一些可能的选项,但我只是在猜测,因为我没有您的代码:

  1. 在磁盘或网络上等待是很容易使代码卡住的地方。在对代码进行性能分析时,请查看是否正在读取/写入文件或进行网络调用,如果是,请考虑以异步或并行方式(例如,使用asynciomultiprocessing)编写代码,以允许使用单个Python线程同时执行多个IO操作或并行阻止多个Python进程。

  2. 您确定它是12核的10%吗? CPU读数通常显示所有内核的百分比,因此您所看到的可能是所有内核的约10%,这将是一个完整的内核。这只是要仔细检查的建议。

  3. 对于许多常见任务(数字计算是我特别熟悉的用例),有一些Python库可以在低级库中实现常见操作,并为您提供使用这些库的高级工具(例如,脾气暴躁)。这就是大多数人在Python中获得高性能代码的方式:通过使用Python代码本质上编写脚本并将其绑定在一起,这些操作主要是由各种库在低级代码中实现的。

但是我确定您会在注释中被告知,甚至可能标记并结束此问题,因此,您需要分析代码并弄清楚时间在哪里,然后对此进行更深入的研究。 Premature optimization is the root of all evil

© www.soinside.com 2019 - 2024. All rights reserved.