1.2。概述

原文: http://numba.pydata.org/numba-doc/latest/user/overview.html

Numba 是 Python 数组和数值函数的编译器,它使您能够使用直接用 Python 编写的高性能函数来加速应用程序。

Numba 使用 LLVM 编译器基础结构从纯 Python 代码生成优化的机器代码。通过一些简单的注释,面向数组和数学的 Python 代码可以及时优化到与 C,C ++和 Fortran 类似的性能,而无需切换语言或 Python 解释器。

Numba 的主要特点是:

  • 即时代码生成(在导入时或运行时,根据用户的喜好)
  • CPU 的本机代码生成(默认)和 GPU 硬件
  • 与 Python 科学软件堆栈集成(感谢 Numpy)

以 Numba 优化函数为例,将 Numpy 数组作为参数,如下所示:

  1. @numba.jit
  2. def sum2d(arr):
  3. M, N = arr.shape
  4. result = 0.0
  5. for i in range(M):
  6. for j in range(N):
  7. result += arr[i,j]
  8. return result