самый быстрый способ вызвать процесс из Python? - PullRequest
3 голосов
/ 21 декабря 2010

Какой самый быстрый / самый эффективный способ выполнить исполняемый файл из python? Мне кажется, что os.system быстрее, чем subprocess.popen. Я хотел бы иметь возможность читать строки, которые исходят из этого другого процесса, но гораздо важнее скорости.

1 Ответ

4 голосов
/ 21 декабря 2010

Я ожидаю, что любая разница в скорости, скажем, os.system и os.execv и subprocess.Popen, будет затоплена за счет запуска нового процесса (и переключения контекста, необходимого для его фактического запуска).Поэтому я рекомендую сначала использовать subprocess и измерить производительность.

Одно из возможных соображений производительности: os.system и subprocess.Popen(shell=True, ...) вызывают создание дополнительного процесса оболочки.В большинстве случаев эта оболочка не нужна.Создавать его расточительно;Вы получаете вдвое больше процессов, чем нужно, без какой-либо выгоды.

...