2010-12-21 45 views
3

什麼是蟒蛇執行可執行最快/最有效的方法?在我看來,os.system比subprocess.popen快。我希望能夠閱讀其他過程中出現的內容,但比其他任何內容都重要的是速度。從python調用進程的最快方法?

+6

爲什麼速度很重要?如果速度如此重要,你爲什麼要嘗試通過開始其他過程來完成(a) (二)與Python?你真的**想做什麼? – 2010-12-21 18:14:06

回答

4

我希望os.systemos.execvsubprocess.Popen之間,也就是說,任何速度差,以通過啓動一個新的進程(和實際運行,它需要上下文切換)爲代價所淹沒。因此我建議首先使用subprocess並測量性能。

一個可能的性能考慮因素:os.systemsubprocess.Popen(shell=True, ...)會導致創建額外的shell進程。在大多數情況下,該shell不是必需的。創造它是浪費的;你會得到兩倍於你所需的進程而沒有任何好處。