在运行python程序时,是否有可能强制您的计算机花费更少的CPU来换取更多的时间?

在运行python程序时,是否有可能强制您的计算机花费更少的CPU来换取更多的时间?,python,performance,cpu,cpu-usage,Python,Performance,Cpu,Cpu Usage,我正在运行一个python程序,它使用big-oofn算法对许多可能的场景进行了相当密集的测试。通过使用至少五个嵌套循环测试超过十亿种不同的可能性,这是一种野蛮的强迫 不管怎么说,我不关心这个程序需要多少时间。可以在后台长时间运行,只是我不能让它阻塞CPU。在Python3.3中,是否有任何方法可以用更少的CPU来换取更多的时间 提前感谢。第一个建议是比进程优先级低到绝对最小更简单 如果仍然没有响应,您可以从时间模块向CPU发送睡眠调用 或者买一台4核的新电脑,让它运行。我一直都这样做,效果很好

我正在运行一个python程序,它使用big-oofn算法对许多可能的场景进行了相当密集的测试。通过使用至少五个嵌套循环测试超过十亿种不同的可能性,这是一种野蛮的强迫

不管怎么说,我不关心这个程序需要多少时间。可以在后台长时间运行,只是我不能让它阻塞CPU。在Python3.3中,是否有任何方法可以用更少的CPU来换取更多的时间


提前感谢。

第一个建议是比进程优先级低到绝对最小更简单

如果仍然没有响应,您可以从时间模块向CPU发送睡眠调用

或者买一台4核的新电脑,让它运行。我一直都这样做,效果很好

增加


添加time.sleep调用将使单cpu系统运行不稳定。此外,sleep0在内部循环中可能有效,因为它将产生cpu,但是如果没有其他人想要使用cpu,则会很快重新调度。哎呀,忘了检查一下,您正在使用Linux-sleep0什么都不做。您可以调用本机sched_yield API,但不要认为它在任何地方都内置在Python中。

一个更简单的解决方案可能是改进或重新改进您的应用程序。如果您运行的是Unix变体Linux、*BSD、Mac,请尝试以下操作:

nice -n 19 python my_code.py
更多信息请点击此处:


在Windows上,您可以尝试通过任务管理器设置优先级在进程选项卡中找到Python进程,右键单击并选择设置优先级。

您使用的是什么操作系统?在Unix上,你可以用它来降低进程的优先级。我正在ubuntu上运行这个程序,所以这可能行得通。谢谢你的链接,我试着实现了craig mcqueen提供的低优先级功能,但它似乎并没有阻止CPU混乱。谢谢,我还可以在Ubuntu中使用系统监视器设置优先级,这似乎是一个很好的临时修复。但了解Nice的未来用途是非常好的。非常感谢。很高兴知道;