很想知道是否有可能以完全解释的方式运行python程序,可以跳过编译
答案 0 :(得分:3)
要完全回答这个问题,由于其含糊不清,需要比我有时间更仔细的回答,但需要记录:
eval
循环解释,而不是
翻译成机器代码。其他实现具有其他特征。
优化Python的PyPy实现使用JIT技术将Python编译为可执行机器代码,但我不知道它是否尝试缓存JIT编码。我怀疑这样做是不明智的,因为每次运行的优化很可能是不同的。
IronPython实现编译成.NET CLR字节码,我相信可以进一步优化。
Jython以Java虚拟机字节码为目标,许多JVM实现再次在每次运行的基础上应用JIT技术。
答案 1 :(得分:0)
假设指的是Python的默认实现 - CPython 。 您无法跳过编辑
运行命令时:
{{1}}
Python(在非常广泛和基本的意义上)执行以下步骤:
第二步在Python解释器过程中至关重要。没有它,你坚持使用AST,虚拟机无需执行任何操作。编译是一个必要的过程。它不是可选的,是强制性的。