Как я должен учитывать subprocess.Popen() накладные расходы при синхронизации в Python?
Более интеллектуальные-члены-оф-кодирования-сообщества, чем я! У меня есть вопрос по питону для всех вас...:)
Я пытаюсь оптимизировать сценарий Python, который (среди прочего) возвращает настенные часы, когда подпроцесс выполнялся и завершался. Я думаю, что я близок с чем-то вроде этого.
startTime = time.time()
process = subprocess.Popen(['process', 'to', 'test'])
process.wait()
endTime = time.time()
wallTime = endTime - startTime
Тем не менее, я обеспокоен тем, что накладные расходы в subprocess.Popen()
раздувает мои результаты на старых и экзотических платформах. Мое первое желание - как-то рассчитать накладные расходы, вызванные subprocess.Popen()
запустив простую безобидную команду. Такие, как следующие на Linux.
startTime = time.time()
process = subprocess.Popen(['touch', '/tmp/foo'])
process.wait()
endTime = time.time()
overheadWallTime = endTime - startTime
Или следующее на windows.
startTime = time.time()
process = subprocess.Popen(['type', 'NUL', '>', 'tmp'])
process.wait()
endTime = time.time()
overheadWallTime = endTime - startTime
Итак, как я должен учитывать subprocess.Popen()
накладные расходы, когда время в питоне?
Или, что является безобидным способом выборки из subprocess.Popen()
?
Или, может быть, я кое-что еще не рассмотрел?
Предостережение заключается в том, что решение должно быть достаточно кроссплатформенным.