Numba 是 Python 的即时编译器,适合用于NumPy 数组和函数以及循环的代码。
Numba @jit
装饰器基本上以两种编译模式运行, nopython
模式和object
模式。nopython
编译模式的行为本质上是编译装饰函数,使其完全运行而无需 Python 解释器的参与。这是使用 Numba jit
装饰器的推荐和最佳实践方法,因为它可以带来最佳性能。如果nopython
模式下的编译失败,Numba 可以使用object
模式。object
模式下Numba将识别可以编译的代码并且转化为机器语言,剩余代码将由编译器执行。nopython
模式(常用):@jit(nopython=True)object
模式:@jit