# Run some experiments and store all values to_run = [] for latency in [0 + i * 0.001 for i in range(0, 50)]: to_run.append((latency, 0.0)) for latency in [0 + i * 0.001 for i in range(50, 600, 50)]: to_run.append((latency, 0.0)) for latency in [0 + i * 0.001 for i in range(0, 50)]: to_run.append((0.0, latency)) for latency in [0 + i * 0.001 for i in range(50, 600, 50)]: to_run.append((latency, 0.0)) to_run = [(0.0, 0.0), (0.2, 0.2), (0.1, 0.1), (0.0, 0.2)] print(to_run) print("NR simulations: " + str(len(to_run))) def run_simulation(latency): import sys sys.path.append("model") from model import simulate latency_mvi, latency_mvs = latency print("SIMULATE for " + str(latency)) result = simulate({"mvi2mvk_latency": 0.0, "mvk2mvs_latency": 0.0}) print("(%s, %s) --> %s" % (latency_mvi, latency_mvs, result)) return result from multiprocessing import Pool pool = Pool(processes=4) results = pool.map(run_simulation, to_run) print(dict(to_run, results)) with open("simloop_results", 'w') as f: json.dump(f, results)