当你使用py2exe将它转换为.exe时,python脚本更快吗?

时间:2012-12-24 13:43:58

标签: python windows-xp py2exe python-2.5

我在编译程序方面非常糟糕,我只想知道如果我使用py2exe将它转换为.exe,我的python 2.5程序会更快。如果它最终会变慢,我不想花很多时间来编译它。我的程序使用OpenCV和PyAudio,但我认为这是它使用的唯一非pure-python模块。谢谢!

注意:我认为这个问题不需要代码,但如果确实如此,请在评论中说明。谢谢!

3 个答案:

答案 0 :(得分:5)

不,不是真的。由于它只是一个包装器,因此它提供了运行代码所需的必要文件。使用Cython可以通过使用C编译它来使程序运行得更快。

答案 1 :(得分:1)

如果你想让你的程序更快,你首先必须测量为什么它很慢。这意味着找出程序花费时间的 。使用其中一个可用的profilers。正如您从链接的示例中看到的那样,并不困难。

如果您知道该计划花费大部分时间的位置,您可以决定是否值得甚至可能进行优化。如果您的计划是已经使你的网络连接饱和,修改程序不会让它更快。

如果您将程序中最慢的代码添加到问题中,也许我们可以帮助您改进它。通常,通过改进您使用的算法可以获得巨大的收益。例如,如果您的代码在一长串数据上进行相同的计算,通常很容易使其更快。 multiprocessing.Pool。如果你有一个N核CPU,Pool.map()最多可以比常规map()快N倍。

如果这还不够,可以在pypy实现上运行许多标准的python代码,通常{c 3}比cpython实现。{/ p>

除了已经提到的cython之外,你还可以使用用C编写的现有扩展,例如faster用于数值计算。当然,另一种选择是在C中编写专用扩展。

您的操作系统也很重要。 XP上的numpy python文件访问速度比例如在Linux上。

答案 2 :(得分:1)

我花了2个月的时间研究Windows Python,我必须说我不是很开心。 如果你有任何C模块(除了标准库),你将遇到很大的问题让它运行起来。

速度类似于Linux,但似乎有点慢。 请注意py2exe不是最好的。 我有py2exe的问题,不得不使用pyinstaller。 它有一个更好的调试,它适用于py2exe没有

的情况

我最大的失望是exe大小,我有一个简单的程序,使用lxml,泡沫,它是7-8mb大......