编译的二进制文件VS python中的解释代码


Compiled binaries VS interpreted code in python

我计划使用python构建几个程序作为服务,稍后从PHP代码运行。在性能方面,使用cx_freeze将python代码编译成二进制文件,还是每次运行程序时运行python解释器,哪个更快?

部署环境:
操作系统:Arch Linux ARM
硬件:树莓派[700MHz ARMv6 CPU,256MB RAM,SD卡文件系统]
Python解释器:Python2.7
应用程序调用频率:

您需要测试它,因为没有一个正确的答案。cx_freeze所做的只是将字节码封装到一个可执行文件中,而不是解释器从磁盘上缓存的.pyc中读取。

理论上,打包的可执行文件可能会更快,因为它读取的文件更少,但另一方面,解释器可能会更快,因为它可能已经在磁盘缓存中了。

可能没有什么可选择的,无论有什么不同,都不是"编译的"answers"解释的"。

cx_freeze(以及将Python代码"编译"为可执行文件的各种竞争对手)实际上并没有编译任何内容。它们只是一种方便的方式,可以直接运行应用程序。换句话说,没有性能差异。

根据您在Python脚本中需要做什么,您可以考虑使用Pypy来提高性能。