为了改进我的代码有一个沉重的循环,我需要加快速度。如何为这样的代码实现多处理? (a典型的大小为2,l大小为10)
fopen("students/students.txt", "r");
答案 0 :(得分:2)
如果HeavyComputationThatIsThreadSafe1
函数只使用数组而不使用python对象,我会使用concurrent futures(或python2 backport)ThreadPoolExecutor
和Numba(发布了GIL或cython)。否则使用ProcessPoolExecutor
。
请参阅:
http://numba.pydata.org/numba-doc/latest/user/examples.html#multi-threading
您希望在最外层循环的级别上并行计算,然后从每个线程/进程生成的块中填充output
。这假设这样做的成本比计算便宜得多,应该是这种情况。