据我所知,IronPython编译为Bytecode,通过.net CLR编译为机器码,而CPython编译为Bytecode并用PVM解释。这是真的?什么是CLR?它也是一台虚拟机吗? 这是否意味着Iron Python更快? 我希望有人可以向我解释一下。
答案 0 :(得分:3)
IronPython编译为Microsoft中间语言(MSIL),类似于CPython生成和解释的字节码。公共语言运行库(CLR)是执行MSIL的虚拟机。它有一个即时(JIT)编译器,可将MSIL转换为本机代码。
CPython没有JIT。 The IronPython wiki对性能有这样的说法:
性能与CPython相当 - 对某些事情要快得多 (它可以利用底层的JIT编译器 平台),但其他东西(特别是内置的)慢 容器类型,其中已经做了很多工作来优化 CPython类型)。