【发布时间】:2011-12-04 10:09:24
【问题描述】:
如果我用 Python 编写一个程序,然后使用这些编译器中的任何一个进行编译:
Gordon McMillan 的安装程序(跨平台)
Thomas Heller 的 py2exe
(Windows)Anthony Tuininga 的 cx_Freeze(跨平台)
它是否和用编译语言编写的代码一样快?
【问题讨论】:
标签: python performance compiler-construction
如果我用 Python 编写一个程序,然后使用这些编译器中的任何一个进行编译:
Gordon McMillan 的安装程序(跨平台)
Thomas Heller 的 py2exe
(Windows)Anthony Tuininga 的 cx_Freeze(跨平台)
它是否和用编译语言编写的代码一样快?
【问题讨论】:
标签: python performance compiler-construction
这些工具不是编译器,它们只是将 python 代码打包成一个更易于启动的应用程序。如果您想要更多类似编译的东西,请尝试http://pypy.org(python 的 JIT)或http://code.google.com/p/shedskin(将 Python 转换为 C++)。
【讨论】:
为了速度,您可能还想查看Cython,它允许使用类似 Python 的语言为 Python 编写 C 扩展。
【讨论】:
Google 最近发布了Grumpy,它在编译 Python 之前将其转换为 Go。期望软件以这种方式运行得更快,并绕过臭名昭著的 Python GIL,实现真正的多线程。
Grumpy 是一个 Python to Go 源代码转编译器和运行时,它是 旨在成为 CPython 2.7 的近乎直接的替代品。钥匙 不同之处在于它将 Python 源代码编译为 Go 源代码 然后将其编译为本机代码,而不是字节码。这 意味着 Grumpy 没有虚拟机。编译出来的 Go 源码是一个系列 调用 Grumpy 运行时的次数,这是一个服务于类似目的的 Go 库 到 Python C API(尽管不直接支持 C API)。
【讨论】: