1 numba模块的使用
from numba import jit
from numpy import arange
import time
@jit
def sum_1(arr):
M, N = arr.shape
result = 0.0
for i in range(M):
for j in range(N):
result += arr[i,j]
return result
a = arange(9999999).reshape(3333333,3)
start = time.time()
print(sum_1(a))
stop = time.time()
print(stop-start)
使用@jit 后的运行时间大约是0.05s,不使用@jit 的运行时间大约是3.3s,效果提高了50多倍。
jit是一个装饰器,装饰器详细信息查看这篇文章