适用于 Python 的 AoT 编译器

Rav*_*rma 1 python compiler-construction llvm

我想让我的 Python 脚本在不需要解释器的情况下在像微控制器这样的裸机设备上工作。我知道已经有像 PyPy 这样的 Python 的 JIT 编译器和像 CPython 这样的解释器。

但是,我见过的现有解释器(例如 CPython)占用了大量内存(以 MB 为单位)。

是否有适用于 Python 的 AOT 编译器(即通过 LLVM 等中介直接编译到本机硬件)?

我认为这样的编译器将使 Python 与现有实现相比运行得更快,并且内存占用更少。如果有,我想知道为什么该解决方案尚未普及。

JKR*_*KRT 5

正如您已经提到的Cython是一个选项(但是,结果确实很大,因为 C 运行时需要与您的程序一起实现 Python 功能)。

关于LLVM,谷歌有一个名为unladen Swallow的项目。然而,该项目大多被放弃。你可以在这里找到一些关于它的信息

基本上,这是将 LLVM 优化引入 Cython 运行时的尝试。例如 JITTING Python 代码。

另一个替代旧被脱皮,其编译的Python和C ++。可以在此处找到有关它的一些信息。

另一个类似于 shed skin 的选择是将自己限制在 Python 语言的一个子集并使用micropython

  • 其实,它叫“脱皮”,而不是“撕皮”。 (2认同)