从Python中调用进程的最快方法是什么?
从Python中执行一个可执行文件,最快或者最有效的方法是什么?我觉得用os.system比用subprocess.popen要快。我希望能够读取这个其他进程输出的内容,但比起其他任何事情,速度是最重要的。
1 个回答
4
我认为,像 os.system
、os.execv
和 subprocess.Popen
之间的速度差异,可能会被启动新进程的开销(以及为了运行它而需要的上下文切换)所掩盖。因此,我建议先使用 subprocess
,然后测量它的性能。
有一个可能影响性能的因素:使用 os.system
和 subprocess.Popen(shell=True, ...)
时,会额外创建一个 shell 进程。在大多数情况下,这个 shell 是不必要的。创建它是浪费;你会得到比需要的多一倍的进程,但并没有什么好处。