python.subprocess(cppBinaryExe)是否会影响cppBinaryExe的性能?

时间:2009-11-12 11:18:47

标签: python linux

我是python.subprocess()

的新手

如果我是python的新进程,这个新进程的执行速度是否会受到影响?

想象我有

#python 
import subprocess
subprocess.call( MyBinary )

基本上,

之间有什么区别
./MyBinary 

./python ruMyBinary.py

3 个答案:

答案 0 :(得分:3)

没有。单独的过程是一个单独的过程。它“公平地”与所有其他进程竞争OS资源。

简单地执行subprocess.call的python进程是一个进程,并且会占用一些系统资源。但相对较少,因为它将等待系统调用完成。它将占据流程表中的一个插槽,因此它确实具有微观影响。

答案 1 :(得分:2)

除了必须实际运行python解释器之外,没有。所以你的最后一个例子需要花费一些时间才能MyBinary解析并运行python程序,并在完成终止python程序后的一些时间。 python程序将是一个现有的进程,占用一个pid和一些内存。

因此,一个长期运行程序的运行速度不会受到影响。 Hovever,如果你运行你的可执行文件数千次,任何额外的包装,更多的python或其他东西,将花费。

答案 2 :(得分:0)

不,该过程就像通过任何其他方式启动一样运行。