более интеллектуальные-члены-оф-кодирования-сообщества, чем я!У меня есть вопрос по 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()
издержки при синхронизации в python?
Или, каков безобидный способ сэмплировать накладные расходы из subprocess.Popen()
?
Или, может быть, есть кое-что, что я еще не учел?
Предостережение заключается в том, что решение должнобыть достаточно кроссплатформенным.