在自定义的计算型函数前面加上两行:
from numba import jit
@jit
可以提速近100倍(非计算的函数反可能会降速).例:
import time
from numba import jit
@jit #加上这句可以提速近100倍
def foo(x,y):
tt=time.time()
s=0
for a in range(1,6):
for i in range(x,y):
s+=i
print('Time used: {} sec'.format(time.time()-tt))
#print(s)
return s
print(foo(1,100000000))
#如果是非计算问题,引入即时编译,反而导致性能下降。实际python在非计算问题上性能很好
---------------------------------------
Time used: 25.1532039642334 sec
24999999750000000
[Finished in 26.0s]
---------------------------------------
warnings.warn(errors.NumbaDeprecationWarning(msg,
Time used: 0.1136939525604248 sec
24999999750000000
[Finished in 1.2s]
详见转:https://blog.csdn.net/qq_39241986/article/details/102486661
(注,原文代码直接复制运行可能会出错,本文例可以直复用,但会有警告提示)
树莓派安装numba时出错,参考https://blog.csdn.net/T_infinity/article/details/93317077
numba官方文档http://numba.pydata.org/numba-doc/latest/user/installing.html
下载numba
git clone git://github.com/numba/numba.git
numba之前先装 https://llvmlite.readthedocs.io/en/latest/admin-guide/install.html
所需资源:https://releases.llvm.org/download.html#3.9.1
https://pypi.org/simple/awkward-numba/