У меня есть два аналогичных кусок кода, скорость очень разные:многопроцессорная вопрос скорости карты питона со списком
Код 1: Исполнение в 16seconds
def mc05():
num_procs = 4
iters = 1000000000
its = iters/num_procs
pool = mp.Pool(processes=num_procs)
result = pool.map(mpf.integrate3, [its] * num_procs)
print(sum(result)/float(num_procs))
pool.terminate(); pool.join();
Кодекса2: Время выполнения: 32seconds (= 1 процесс)
def mc05():
num_procs = 4
iters = 1000000000
its = iters/num_procs
pool = mp.Pool(processes=num_procs)
result = pool.map(mpf.integrate3, [iters])
print(sum(result)/float(num_procs))
pool.terminate(); pool.join();
Единственное отличие происходит от списка, где в коде 2 оно упрощено ... Почему это другое?
Спасибо, извините, я неправильно интерпретирую смысл [его] * num_procs: он создает вектор размера 4. –