1

因此,据我了解,IronPython 被编译为字节码,字节码通过.net CLR 编译为机器码,而 CPython 被编译为字节码并使用 PVM 进行解释。这是真的?CLR 到底是什么?它也是虚拟机吗?这是否意味着 Iron Python 更快?我希望有人可以向我解释这一点。

4

1 回答 1

4

IronPython 编译为 Microsoft 中间语言 (MSIL),类似于 CPython 生成和解释的字节码。公共语言运行时 (CLR) 是执行 MSIL 的虚拟机。它有一个即时 (JIT) 编译器,可将 MSIL 转换为本机代码。

CPython 没有 JIT。IronPython wiki对性能有这样的说法:

性能与 CPython 相当——在某些方面要快得多(它可以利用底层平台中的 JIT 编译器),但在其他方面则较慢(特别是在优化方面已经完成了大量工作的内置容器类型) CPython 类型)。

于 2013-02-12T09:57:15.503 回答