我打算使用python构建一些用作服务的程序,稍后从PHP代码运行。 在性能方面,更快,使用cx_freeze将python代码编译成二进制文件,或者每次运行程序时运行python解释器?
部署环境:
操作系统: Arch Linux ARM
硬件: Raspberry Pi [700MHz ARMv6 CPU,256MB RAM,SD卡文件系统]
Python解释器: Python2.7
应用程序调用频率:高
答案 0 :(得分:3)
cx_freeze(以及“编译”Python代码到可执行文件的各种竞争对手)实际上并没有编译任何东西。它们只是一种方便的方式来打包应用程序,使其可以直接运行。换句话说,没有性能差异。
根据您在Python脚本中需要执行的操作,您可以考虑使用Pypy来提高性能。
答案 1 :(得分:3)
你需要对它进行测试,因为没有单一的正确答案。所有cx_freeze都将字节码包装成可执行文件,而不是从磁盘上缓存的.pyc读取解释器。
理论上,打包的可执行文件可以更快,因为它读取的文件较少,但另一方面,解释器可能更快,因为它可能已经在磁盘缓存中。
可能没什么可选择的,无论差异如何,都不是“编译”与“解释”。