У меня есть следующий код, который я хочу ускорить (используя многопроцессорность).Многопроцессорный цикл в Python
def main(arg1):
data=[]
#Calculate new argument arg2
for i in range(n):
data.append(function(z,i,arg2))
Где z
в 2D-массиве. Моя идея состояла в том, чтобы сделать это следующим образом, но я не уверен, что это ускорит процесс.
from multiprocessing import Pool
import itertools
def function_star(a_b_c):
return function(*a_b_c)
def main(arg1):
#Calculate new argument arg2
pool=Pool()
i=range(n)
out=pool.map(function_star, i, itertools.repeat(z),itertools.repeat(arg2))
pool.close()
if __name__=="__main__":
main(arg1)
Действительно ли это самый эффективный способ ускорить процесс?