Влияет ли python.subprocess (cppBinaryExe) на производительность cppBinaryExe? - PullRequest
1 голос
/ 12 ноября 2009

Я совершенно новичок в python.subprocess ()

Если я создам новый процесс из Python, будет ли скомпрометирована скорость выполнения этого нового процесса?

представь, что у меня есть

#python 
import subprocess
subprocess.call( MyBinary )

в принципе, есть ли разница между

./MyBinary 

и

./python ruMyBinary.py

Ответы [ 3 ]

3 голосов
/ 12 ноября 2009

Нет. Отдельный процесс - это отдельный процесс. Он конкурирует за ресурсы ОС со всеми остальными процессами "честно".

Ваш процесс Python, который просто выполняет subprocess.call, является процессом и потребляет некоторые системные ресурсы. Но относительно немного, так как он будет ждать завершения системного вызова. Он займет место в таблице процессов, поэтому он оказывает микроскопическое воздействие.

2 голосов
/ 12 ноября 2009

Помимо необходимости фактически запускать интерпретатор python, нет. Таким образом, вашему последнему примеру потребуется некоторое время, прежде чем MyBinary проанализировать и запустить программу python, и некоторое небольшое время после его завершения для завершения программы python. И программа python будет существующим процессом, который займет pid и некоторое количество памяти.

Таким образом, скорость работы одной долгоиграющей программы не будет затронута. Однако, если вы запустите свой исполняемый файл тысячи раз, любая дополнительная упаковка, будь то Python или что-то еще, будет стоить.

0 голосов
/ 12 ноября 2009

Нет, процесс запускается так же, как если бы он был запущен любым другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...