【问题标题】:Control speed of process过程控制速度
【发布时间】:2021-08-12 15:12:58
【问题描述】:

这里有更多一般性问题。我想实现小脚本,我应该能够控制执行速度,用于教育目的,模拟一些真正的嵌入式板。语言选择在 Python(首选)和 C/C++ 之间。

我的想法是这样的:我想创建一个与之相关的处理速度的基类,比如

def myClass:
    MYSPEED = 100 # Instructions/s or anything else

    ...

myClass 应该有一个相关的时钟速度。然后我可以创建任何

def newClass(myClass):
    def func1():
        code

并在其中运行代码。但是func1() 中的代码应该以 MyClass 的速度运行。有什么方法可以通过线程、subprocess、装饰器或其他任何方法来实现这一点?

【问题讨论】:

    标签: python c++ multithreading subprocess emulation


    【解决方案1】:

    如果您说的是总体上减慢进程,实质上是限制每秒汇编指令的数量,那么不,没有直接的方法可以实现这一点。
    计算机将始终全速运行所有进程。

    您的选择基本上是:

    仿真

    使用具有速度控制的完整模拟器,运行操作系统 + 任何您想慢速运行的进程。

    代码内速度控制

    在您编写的代码中直接包含时钟速度处理,例如通过在每条指令之间添加clock_tick() 调用。

    【讨论】:

    • 代码内速度控制不可行,因为我不想对代码进行任何更改。你认为我可以使用 docker 图像得到我想要的吗?
    • @Ibedogni docker 只是封装而不是模拟器。它可以做的最好的事情是限制在一个 cpu 核心的百分比,但这是随着时间的推移而平均的,现在可能是你所追求的。实际上,目前我能想到的唯一一个真正具有硬件时钟控制功能的模拟器是 Dosbox,大多数其他模拟器都专注于尽可能快地模拟功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2014-06-08
    • 2014-02-21
    • 2019-02-14
    相关资源
    最近更新 更多