python 的角度 —— 性能影响 | 第一部分 开始 —— 第 2 章: python 是如何运行程序的 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-380玩彩网官网入口
有完全编译型语言如c和c 背景的读者可能注意到在python模型中的一些不同点。首先,在python的工作中通常没有build 或“make”步骤:代码在编写后就立即被运行。第二,python字节码不是二进制机器码(比如,intel 或arm芯片的指令)。字节码是python特有的表现形式。
这就是为什么像第一章中描述的,有些python代码可能不如c或c 代码运行的那么快——pvm循环,不是cpu芯片,仍然必须解释字节码,且字节码指令需要比cpu指令工作得更多。另一方面,不像在经典的解释器中,它仍然有一个内部的编译步骤——python不需要重复地重新分析和重新解析每一个源语句文本。最终效果就是纯python代码运行的速度在传统编译性语言和传统解释性语言之间。要了解python在性能妥协上的细节,请参见第一章。