2
所以我需要改善我一直在努力的脚本的执行时间。我开始与numba JIT装饰工作,试图并行计算然而它抛出我numba @jit慢了一点,纯粹的python?
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微秒最慢的运行速度比最快的耗时较长7.13倍。这可能意味着正在缓存中间结果 1000000个循环,最好为3:每个循环1.75μs
嗨@JoshAdel感谢您的回答,我真正的代码是algorith所以它遍历相同的功能,检查改进,所以我不知道如果优化的aguments值的不断变化和嵌套函数量如果我矢量化执行最多的函数将会是一个问题。再次感谢你 – jmparejaz