For loop 平行于;“用于循环”;
我第一次尝试在python中并行化for循环 这是我最初的for循环: 序列中的i的For loop 平行于;“用于循环”;,for-loop,parallel-processing,For Loop,Parallel Processing,我第一次尝试在python中并行化for循环 这是我最初的for循环: 序列中的i的: wchk_矩阵(i,2,wchk) 函数应迭代序列并更新矩阵“wchk”。 问题是我有1000个序列,所以速度有点慢。 这就是为什么我想把它并行化,有人知道怎么做吗 我试过这样的方法,但没用: 以mp.Pool(4)作为池: map(wchk_矩阵,[wchk_矩阵(i,2,wchk)表示序列中的i]) 非常感谢您的帮助。来自: map(func,iterable[,chunksize]) map()内
:
wchk_矩阵(i,2,wchk)
函数应迭代序列并更新矩阵“wchk”。
问题是我有1000个序列,所以速度有点慢。
这就是为什么我想把它并行化,有人知道怎么做吗
我试过这样的方法,但没用:
以mp.Pool(4)作为池:
map(wchk_矩阵,[wchk_矩阵(i,2,wchk)表示序列中的i])
非常感谢您的帮助。来自:
map(func,iterable[,chunksize])
内置函数的并行等价物(它只支持一个iterable参数,对于多个iterable,请参见map()
)starmap()
类似于starmap(func,iterable[,chunksize])
,不同的是iterable的元素应该是作为参数解包的iterable 因此,map()
的一个可数导致[(1,2)、(3,4)]
3.3版中的新版本[func(1,2),func(3,4)]
wchk_matrix
需要三个参数,因此需要创建包含三个值的元组列表:
以mp.Pool(4)作为池:
starmap(wchk_矩阵,[(i,2,wchk)表示序列中的i])
但请注意,一旦多次复制数据以填充列表,并且每次解释器为池创建fork时都会复制数据,对wchk
的任何就地修改都将被忽略。最好的方法是计算一个值并返回,因此将所有结果收集到一个starmap
实际返回的列表中