计算模拟以简单方式运行的总时间



我正在使用env.run((来运行模拟,我的模拟包含一堆相互等待并处理某些事件的进程。

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

只需在调用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

这非常简单,您可以检查开始模拟的时间,start_time以及模拟结束的时间,end_time。区别在于模拟运行的时间。

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

最新更新