【发布时间】:2017-12-22 16:08:11
【问题描述】:
所以我需要改进我一直在处理的脚本的执行时间。我开始使用 numba jit 装饰器来尝试并行计算,但是它让我失望了
KeyError: "Does not support option: 'parallel'"
所以我决定测试 nogil,如果它从我的 cpu 解锁全部功能,但它比纯 python 慢我不明白为什么会发生这种情况,如果有人可以帮助我或指导我,我将非常感激
import numpy as np
from numba import *
@jit(['float64[:,:],float64[:,:]'],'(n,m),(n,m)->(n,m)',nogil=True)
def asd(x,y):
return x+y
u=np.random.random(100)
w=np.random.random(100)
%timeit asd(u,w)
%timeit u+w
10000 次循环,3 次中的最佳:每个循环 137 µs 最慢的运行时间比最快的运行时间长 7.13 倍。这可能意味着正在缓存中间结果 1000000 次循环,3 次中的最佳:每个循环 1.75 µs
【问题讨论】:
标签: python parallel-processing jit numba