Добавить lec1/simple_run.py
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
from concurrent.futures import ProcessPoolExecutor
|
||||||
|
from bench import bench
|
||||||
|
from mc_parallel import estimate_pi_parallel
|
||||||
|
N_PER_WORKER = 5_000_000 # объём работы на одного исполнителя
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(" p N T(p), с E_weak")
|
||||||
|
for p in [1, 2, 4, 6, 8, 10]:
|
||||||
|
n = N_PER_WORKER * p # задача растёт вместе с числом процессов
|
||||||
|
with ProcessPoolExecutor(max_workers=p) as pool:
|
||||||
|
tp, _, _ = bench(estimate_pi_parallel, n, pool, p)
|
||||||
|
9
|
||||||
|
if p == 1:
|
||||||
|
t_base = tp
|
||||||
|
print(f"{p:2d} {n:10_d} {tp:7.2f} {t_base / tp:6.2f}")
|
||||||
Reference in New Issue
Block a user