Так как у меня 16-ядерный процессор, я хотел попробовать многопроцессорный код Python с этим сценарием:
import time
NUMBERS = 50000, 50001, 50002, 50003, 50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013, 50014, 50015
def factorial(n):
print(f"start: factorial {n}")
f = 1
for i in range(1, n+1):
f*=i
print(f"done: factorial {n}")
return f
import multiprocessing as mp
t0 = time.time()
with mp.Pool() as pool:
result = pool.map(factorial, NUMBERS)
t1 = time.time()
print(f"Excecution took {t1-t0:.4f}")
Но когда я выполняю ячейку в дистрибутиве Jacyter Anaconda, она не выводит ничего, и это не останавливается.
Информация о платформе:
Процессор: i9 9900K
ОС: Windows 10 Pro (10.0 Build 18362)
Anaconda Версия: 1.9.7
Python 3.7.4
Jupyter запускается отдельно от Windows Powershell в его специальном каталоге с помощью команды
Jupyter notebook