一般来说,我很好奇,使用将非exe转换为exe的实用程序是否会提高速度?据我所知,他们只是把解释器封装在exe里面。在
具体来说,如果您有一个python脚本并在其上使用py2exe,那么生成的可执行文件是否比.py运行得更快?我的老板似乎有这样的假设,但我不太确定。在
尤其是在处理多个模块时。例如,假设您有模块first.py
和second.py
。你把它们都编译成可执行文件。当它们是.py时,second.py
可以称为
from second import main
main()
既然它们是可执行文件,你就必须启动一个新的进程,这肯定会慢一些?在
subproccess.call(["second.exe"], shell=True)
我理解得对吗?或者,来自另一个python模块的import
实际上会启动python解释器的一个新实例吗?在
在我们的例子中,目标平台总是Windows。在
你的老板被误导了。py2exe所做的就是将您的程序打包到一个独立的包中,这个包能够在没有依赖关系的情况下运行。它仍然是运行在同一个解释器上的相同字节码(好吧,不管打包了什么)。在
请参阅this other answer,了解使用-o标志可以获得的所有“优化”。在
另外,是的,一定要运行一些基准来确认。在
相关问题 更多 >
编程相关推荐