概述
Numba 是一个针对 Python 数组和数值函数的编译器,它赋予你通过直接在 Python 中编写高性能函数来加速应用程序的能力。
Numba 使用 LLVM编译器基础设施 从纯Python代码生成优化的机器代码。通过几个简单的注解,面向数组和数学密集型的Python代码可以即时优化到与C、C++和Fortran类似的性能,而无需切换语言或Python解释器。
Numba 的主要特点是:
以下是一个采用Numba优化的函数,以Numpy数组作为参数的示例:
@numba.jit
def sum2d(arr):
M, N = arr.shape
result = 0.0
for i in range(M):
for j in range(N):
result += arr[i,j]
return result