У меня есть этот код:
from multiprocessing import Pool
from multiprocessing import cpu_count
processes = cpu_count()
pool = Pool(processes)
pool.map(print("Hello, world!"))
Это дает ошибку: TypeError: map() missing 1 required positional argument: 'iterable'
.Это похоже на другие пакеты параллелизации (например, concurrent.futures
).Они требуют, чтобы определенная функция была применена к итерации.Но как можно заставить одну команду использовать более одного ядра процессора?
Допустим, вместо print("Hello, world!")
выше, была команда для запуска тематической модели или для вычисления Pi или чего-то еще: Может ли этоускорить процесс распараллеливания?Или даже тот факт, что 100% загрузка процессора на 1 из, скажем, 16 ядер, все еще может означать, что используется вся вычислительная мощность машины?