计算simpy中运行模拟的总时间

2024-04-26 02:31:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用环境运行()运行模拟,我的模拟包含一组进程,这些进程相互等待并处理一些事件。你知道吗

现在我知道,当我们不指定模拟应该运行的时间框架时,模拟将运行,直到所有事件都处理完毕,那么在这种情况下,我如何计算代码中的最终时间(t),直到模拟运行为止?你知道吗


Tags: 代码框架环境进程时间事件情况
2条回答

这是相当直接的你检查什么时候开始模拟,开始时间和模拟结束时间,结束时间。不同的是模拟运行的时间。你知道吗

import time
start_time = time.time()
end_time = time.time()
print end_time  - start_time

只需在调用env.run()之后使用env.now。你知道吗

示例:

import simpy


def func1():
    yield env.timeout(50)
    print("Foo bar")


def func2():
    yield env.timeout(30)
    print("Hello world")


env = simpy.Environment()
env.process(func1())
env.process(func2())
env.run()

print("Simulation ended at: {}".format(env.now))

输出:

Hello world
Foo bar
Simulation ended at: 50

相关问题 更多 >