15 lines
571 B
Python
15 lines
571 B
Python
from concurrent.futures import ProcessPoolExecutor
|
||
from bench import bench
|
||
from mc import estimate_pi_serial
|
||
from mc_parallel import estimate_pi_parallel
|
||
N = 20_000_000
|
||
if __name__ == "__main__":
|
||
t1, _, _ = bench(estimate_pi_serial, N)
|
||
print(f"Последовательно: T(1) = {t1:.2f} с")
|
||
print(" p T(p), с S(p) E(p)")
|
||
for p in [1, 2, 4, 6, 8, 10]:
|
||
with ProcessPoolExecutor(max_workers=p) as pool:
|
||
tp, _, _ = bench(estimate_pi_parallel, N, pool, p)
|
||
s = t1 / tp
|
||
print(f"{p:2d} {tp:8.2f} {s:5.2f} {s / p:5.2f}")
|