我听说某些类型的运行时编译不会影响性能。官方Python文档断言运行.pyc
文件并不比.py
快。 (我现在找不到链接。)这怎么可能?从.py
生成字节码是否需要时间?
像PHP这样的语言呢?是不是每次执行都要编译它们?你为什么要这个?如果同一个脚本将运行多次,这似乎是浪费时间。
答案 0 :(得分:4)
如果没有您正在阅读的实际文档的上下文,我们无法肯定地说,但我认为您可能会误解“性能”的含义。
如果必须在启动时将应用程序编译为字节码,应用程序启动速度较慢,但运行的速度较慢。没有资格,有人谈论“表现”几乎从不涉及启动时间。
答案 1 :(得分:1)
Python检查.pyc
文件,当它不存在时,或者如果它已过期,它将从.py
文件重新创建字节码。
如果文件系统不可写,则在程序运行之前,此步骤仍会发生在RAM中。
因此Python在运行程序时不会逐行解释代码。
结果是,如果.pyc
文件存在并且是最新的,那么程序将会更快地开始运行,但执行速度将是相同的