概述
Numba 是一个面向 Python 数组和数值函数的编译器,它使您能够通过直接用 Python 编写的高性能函数来加速您的应用程序。
Numba 使用 LLVM 编译器基础设施,从纯 Python 代码生成优化过的机器码。通过几个简单的注解,面向数组且计算密集的 Python 代码可以被即时优化,达到与 C、C++ 和 Fortran 相似的性能,而无需切换语言或 Python 解释器。
Numba 的主要特性是
一个以 Numpy 数组作为参数的 Numba 优化函数可能看起来像这样
@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