作者Dirac (Dirac)
看板Python
标题[问题] for 回圈 平行化
时间Tue Jun 7 16:39:15 2016
小弟最近需要加快回圈速度
第一个想到的就是平行化
这里是小弟的程式码 (创立矩阵)
j=0
for w in np.arange(Omega_start,Omega_end,Omega_grid):
k=0
for t in np.arange(Timearray[int(len(Timearray)/20*TI)],Timearray[int(len(Timearray)/20*TF-1)],h*Time_grid):
a[k][j] = wave(w,t)
k+=1
j+=1
#####
a[k][j] 是一个矩阵 , wave是一个定义函数 ,
主要想要让for w 这边用平行化速度加快
请问一下有什麽tutorial可以看吗?
multiprocessing 的使用文件实在是有点复杂...
感谢各位版友
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.184.65
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1465288758.A.825.html
1F:→ bibo9901: 你第一个想到的应该是优化这丑陋的code 06/07 16:53
2F:→ bibo9901: 1. 这里真有必要用np.arange? 试试内建的generator 06/07 16:55
3F:→ bibo9901: 2. 第二层回圈看起来和第一层无关, 提出去计算一次就好 06/07 16:55
4F:→ bibo9901: ^的条件 06/07 16:56
5F:→ alibuda174: 花时间的地方是wave吧? 06/07 17:27
6F:→ LiloHuang: 这个问题会建议你直接用 numba 的 @jit decorator 06/08 21:08
7F:→ LiloHuang: 通常会有显着的性能提升。 06/08 21:09