使用 Python 的实际任意指令浪费周期

Wasting cycles with actual arbitrary instructions with Python

我一直在做一个项目,在这个项目中我需要创建一个 Python 应用程序,在这个阶段会浪费指令和周期。通常当'cycle wasting'表示等待或休眠;但我想以不同的方式来做。即使外部程序循环的迭代周期相当长,也应该有一些浪费周期的伪指令。

举个例子(典型的做法):

while(True):
    #..do simple thing..
    time.sleep(0.000001)

我想做的事情:

while(True):
    #..do complex instructions..
    time.sleep(0.2)

在第一个 'typical' 示例中,我可以通过简单地调整睡眠时间来实现自定义 CPU 负载,例如 25% 或 100%。我希望能够对第二个代码做同样的事情,其中​​周期是一个相当高的值并且是恒定的,但指令是复杂和动态的。

请记住,我必须将此作为 Python 应用程序执行,而不是作为从 shell.

运行的 bash 脚本执行

有办法实现吗?任何帮助将不胜感激。

提前致谢。

注意:如有标签错误敬请见谅

编辑: 使用 Python 2.7

编辑: 应用要求应该有周期性休眠,如time.sleep(2), time.sleep(0.2)。这是我们的一种限制。

没有考虑最好的方法,只是尝试了一些,在我的笔记本电脑 i5 上它是 100% CPU。 我选择随机矩阵生成和乘积:

def cpu_load():
    import numpy as np
    while True:
    a = np.random.random([1000, 1000])
    b = np.random.random([1000, 1000])
    c = np.mean(a*b)

如果我正确理解了你的问题,并且进一步构建了 pltrdy 的代码,我想你想要这样的东西:

def cpu_load(treshold):
    import numpy as np
    import time
    start = time.time()
    while time.time() - start < treshold:
        a = np.random.random([1000, 1000])
        b = np.random.random([1000, 1000])
        c = np.mean(a*b)

如果您使用的是 Linux 系统,则可以执行此操作。

import os
os.nice(20)

这将增加流程的友好度。因此减少 CPU 消耗。

Here 是文档。