我正在使用env.run()来运行仿真,并且我的仿真包含一堆彼此等待并处理某些事件的进程。
现在,我知道当我们不指定模拟应运行的时间范围时,模拟将运行直到所有事件都已处理完毕,因此在这种情况下,如何在代码中计算最终时间(t) ,直到运行模拟?
答案 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