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