1

Numba (AOT) 和 Nuitka 都提供将 Python 代码编译为 C 代码的功能。至少 Nuitka 生成的 C 代码绑定了 Python 标准库,因此 C 代码严重依赖 PyObjects。换句话说,如果从头开始编写,代码看起来不像人类编写的 C 代码。因此,如果您愿意,生成的机器代码会有些冗长。我不确定 Numba 的提前 (AOT) 编译是如何工作的。这就是我所知道的。我的问题:

  1. Numba (AOT) 是如何做到的?
  2. 就速度而言,它与 Nuitka 相比如何?

请注意,我谈论 Numba 的即时 (JIT) 编译,这是 Numba 的默认编译模式。JIT 可以考虑特定的 CPU,而 AOT 不能 - 因此 JIT 在运行期间比 AOT 更快,但需要较慢的预热阶段(编译和加载)。因此,比较会有些不公平。

4

0 回答 0