私はスピードアップしたい(マルチプロセッシングを使って)次のコードを書いています。Pythonでループをマルチプロセッシングする
def main(arg1):
data=[]
#Calculate new argument arg2
for i in range(n):
data.append(function(z,i,arg2))
ここで、z
は2次元配列である。 私の考えは次のようにしていましたが、これによりプロセスがスピードアップするとは思えません。
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)
これは確かにプロセスをスピードアップする最も効率的な方法ですか?