我正在基于代理的模型上工作,我想运行以下命令1,000次:
model = MyModel()
for i in range(100):
model.step()
我决定使用while循环:
repetition = 0
maxRepetition = 1000
while repetition <= maxRepetition:
model = MyModel()
for i in range(100):
model.step()
repetition += 1
尽管如此,完成此循环仍需要大量时间(超过1小时)。有人可以推荐我一个更有效的程序吗?
答案 0 :(得分:1)
如果model.step()
不需要迭代执行,则可以使用threading
,asyncio
和multiprosessing
之类的库。
import multiprocessing
def run_model(n):
model = MyModel()
for i in range(100):
model.step
with multiprocessing.Pool() as pool:
pool.map(run_model, list(range(1000)))