0

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

部署环境:
OS: Arch Linux ARM
硬件: Raspberry Pi [700MHz ARMv6 CPU,256MB RAM,SD卡文件系统]
Python解释器: Python2.7
应用调用频率:

4

2 回答 2

3

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

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

可能几乎没有什么选择,而且无论有什么区别,都不能归结为“编译”与“解释”。

于 2013-07-23T19:39:29.610 回答
3

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

根据您需要在 Python 脚本中执行的操作,您可以考虑使用 Pypy 来提高性能。

于 2013-07-23T19:38:57.947 回答