一般来说,我很好奇,是否使用将非exe转换为exe增加速度的实用程序?我的理解是他们只是将解释器打包在exe中。
具体来说,如果你有python脚本并在其上使用py2exe,生成的可执行文件的运行速度是否比.py快?我的老板似乎有这样的假设,但我不太确定。
特别是在处理多个模块时。例如,假设您有模块first.py
和second.py
。您将它们全部编译为可执行文件。当它们是.py时,second.py
可以被称为
from second import main
main()
既然他们是可执行文件,你必须开始一个新进程,这肯定会慢一些吗?
subproccess.call(["second.exe"], shell=True)
我能理解这一点吗?或者import
来自另一个python模块实际上是否启动了python解释器的新实例?
在我们的案例中,目标平台始终是Windows。
答案 0 :(得分:1)
你的老板被误导了。所有py2exe都会将您的程序打包成一个能够无依赖地运行的独立包。它仍然是在同一个解释器上运行的相同字节码(好吧,无论打包的是什么)。
请参阅this other answer了解所有"优化"你可以放弃使用-o标志。
另外,是的,肯定会运行一些基准来确认。