Использовать Python Popen для сравнения скриптов? - PullRequest
0 голосов
/ 28 апреля 2011

У меня есть сценарий (это, скорее всего, сценарий hadoop pig), из которого я хочу измерить время выполнения. Возможно, я планировал выполнить тесты несколько раз и взять среднее / среднее время за время выполнения.

Поскольку запуск сценария несколько раз вручную может стать довольно громоздким, я хотел написать сценарий для запуска этих тестов.

Является ли хорошей идеей использовать Python's Popen для запуска нового процесса, который выполняет сценарий и измеряет время, в течение которого процесс выполняется, скажем:

# start timer
p = subprocess.Popen(...)
stdout, stderr = p.communicate()
# end timer

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

Лучший, Будет

1 Ответ

2 голосов
/ 28 апреля 2011

Я бы также использовал утилиту time:

time python foo.py

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

...