这是一个显而易见的问题,我无法找到具体答案。
Python字节码和Python代码本身的解释器是否独立,
意思是,如果我使用CPython,PyPy,Jython,IronPython,Skulpt等,Interpreter并尝试运行,那么python或字节码中的同一段代码,它将正确运行吗? (前提是它们实现相同的语言版本,并使用严格用Python编写的模块或标准模块)
如果是这样,是否有一个基准,或者可以用来比较许多口译员的性能比较的地方?
我使用CPython已经有一段时间了,现在我想探索新的解释器。
还有一个附带的问题,其他python实现有什么用? 骷髅我明白了,浏览器,但是其余的呢?是否有需要不同解释器的特定行业或应用程序(哪个)?
答案 0 :(得分:0)
来自https://docs.python.org/3/library/dis.html#module-dis
字节码是CPython解释器的实现细节。没有 保证不会添加,删除或删除字节码 在Python版本之间进行了更改。不应使用此模块 被认为可以跨Python VM或Python版本使用。
另一方面,Jython“由编译器将Python源代码编译为可直接在JVM上运行的Java字节码”,而IronPython则编译为CIL以便在.NET VM上运行。
目的是更好地集成到您的编程环境中。 CPython允许您编写C扩展,但这在其他实现中不一定是正确的。 Jython allows you to interact with Java code。我敢肯定IronPython也是如此。
答案 1 :(得分:0)
如果是,是否有基准,或者我可以比较的地方 许多口译员的表现比较?
speed.pypy.org将pypy与cpython进行比较