improve multiprocessing

This commit is contained in:
2024-08-31 22:24:46 +02:00
parent 6ea763f914
commit f50a36c4d0

View File

@@ -1,3 +1,4 @@
import os
from concurrent.futures import ProcessPoolExecutor, as_completed
from dataclasses import dataclass
@@ -86,14 +87,19 @@ def run_simulation(n_servers=2, lam=40):
}
with ProcessPoolExecutor(max_workers=4) as executor:
if __name__ == "__main__":
with ProcessPoolExecutor(max_workers=os.cpu_count()) as executor:
n_servers = [n + 1 for n in range(10)]
lam = [(n + 1) * 4 for n in range(10)]
parameter_values = [
{"n_servers": n, "lam": m} for n in n_servers for m in lam for _ in range(10)
{"n_servers": n, "lam": m}
for n in n_servers
for m in lam
for _ in range(100)
]
futures = [
executor.submit(run_simulation, **parameters) for parameters in parameter_values
executor.submit(run_simulation, **parameters)
for parameters in parameter_values
]
results = []