Ответ 1
Добро пожаловать в включенные батареи.
более-интеллигентные члены-оф-кодирования-сообщество, чем я! У меня есть вопрос python для вас всех...:)
Я пытаюсь оптимизировать python script, который (среди прочего) возвращает время настенных часов, когда подпроцесс выполнялся и заканчивался. Я думаю, что я близок с чем-то вроде этого.
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
Или следующее в окнах.
startTime = time.time()
process = subprocess.Popen(['type', 'NUL', '>', 'tmp'])
process.wait()
endTime = time.time()
overheadWallTime = endTime - startTime
Итак, как я должен учитывать служебные данные subprocess.Popen()
при синхронизации в python?
Или, что является безобидным способом отбора служебных данных из subprocess.Popen()
?
Или, может, там что-то еще не рассмотрело?
Предостережение заключается в том, что решение должно быть достаточно кросс-платформенным.
Добро пожаловать в включенные батареи.