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

时间:2018-10-01 10:49:07

标签: python simpy

我正在使用env.run()来运行仿真,并且我的仿真包含一堆彼此等待并处理某些事件的进程。

现在,我知道当我们不指定模拟应运行的时间范围时,模拟将运行直到所有事件都已处理完毕,因此在这种情况下,如何在代码中计算最终时间(t) ,直到运行模拟?

2 个答案:

答案 0 :(得分:1)

这很简单,您可以检查启动模拟的时间,即start_time和模拟结束的时间,end_time。区别在于模拟运行的时间。

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

答案 1 :(得分:0)

在调用env.now之后仅使用env.run()

示例:

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