将解释过的脚本转换为可执行文件会提高速度吗?

2024-04-23 06:03:07 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我很好奇,使用将非exe转换为exe的实用程序是否会提高速度?据我所知,他们只是把解释器封装在exe里面。在

具体来说,如果您有一个python脚本并在其上使用py2exe,那么生成的可执行文件是否比.py运行得更快?我的老板似乎有这样的假设,但我不太确定。在

尤其是在处理多个模块时。例如,假设您有模块first.pysecond.py。你把它们都编译成可执行文件。当它们是.py时,second.py可以称为

from second import main
main()

既然它们是可执行文件,你就必须启动一个新的进程,这肯定会慢一些?在

subproccess.call(["second.exe"], shell=True)

我理解得对吗?或者,来自另一个python模块的import实际上会启动python解释器的一个新实例吗?在

在我们的例子中,目标平台总是Windows。在


Tags: 模块pyimport实用程序脚本可执行文件mainexe
1条回答
网友
1楼 · 发布于 2024-04-23 06:03:07

你的老板被误导了。py2exe所做的就是将您的程序打包到一个独立的包中,这个包能够在没有依赖关系的情况下运行。它仍然是运行在同一个解释器上的相同字节码(好吧,不管打包了什么)。在

请参阅this other answer,了解使用-o标志可以获得的所有“优化”。在

另外,是的,一定要运行一些基准来确认。在

相关问题 更多 >