сценарий оболочки, хранящий время выполнения с Python

Я пытаюсь сохранить время выполнения программы на Python, используя этот

{ time python experiments.py --model iwae --k $k ; } 2> time$k.txt

, когда я делаю это в сценарии оболочки, я получаю

40.35user 3.12system 0:43.00elapsed 101%CPU (0avgtext+0avgdata 850788maxresident)k
0inputs+30344outputs (0major+159448minor)pagefaults 0swaps

, когда выполняю только одна строка, я получаю

real    0m16.367s
user    0m15.420s
sys 0m1.436s

, что я хочу.

Может ли кто-нибудь помочь мне с регистрацией времени выполнения скрипта Python и сохранением времени выполнения в текстовом файле, пожалуйста?

script

# ! /bin/sh

for k in 3 5 10; do

echo $k

sudo ldconfig /usr/local/cuda/lib64

{ time python experiments.py --model iwae --k $k ; } 2> time$k.txt

done
1
задан 20 April 2016 в 15:28

1 ответ

time много вещей. Существует внешнее /usr/bin/time Программа GNU. Существует ключевое слово удара time.

$ type -a time
time is a shell keyword
time is /usr/bin/time

Когда Вы работаете time … в интерактивной оболочке Вы обычно использовали бы удар, и таким образом, time ключевое слово вступает в силу.

Когда Вы работаете time … в использовании сценария /bin/sh, оболочка используется (dash) не имеет time как ключевое слово и внешнее time команду называют.

Для получения вывода, Вы хотите, называете внешнее time команда с -p опция:

-p, --portability
      Use the following format string, for conformance with POSIX
      standard 1003.2:
                real %e
                user %U
                sys %S

Внешняя команда является также более дружественной. Так как это не ключевое слово, Вы не должны делать wrap-in-{ … }- прием для перенаправления для получения вывода в файле. Существует опция для этого:

-o FILE, --output=FILE
      Write the resource use statistics to FILE instead of to the
      standard error stream.  By default, this overwrites the file,
      destroying the file's previous contents.  This option is useful
      for collecting information on interactive programs and programs
      that produce output on the standard error stream.

Вывод также намного более настраиваем, помогая обработке позже. С ударом time, возможности, предоставленные в TIMEFORMAT очень ограничены.

3
ответ дан 21 April 2016 в 01:28
  • 1
    @Redbob я должен указать что тема you' использование ре не хорошо разработано для этой опции. И файл/имя папки и " Представление в виде значков Captions" имеют тот же (черный) цвет, который нисколько не эстетичен. Тема по умолчанию показывает " Представление в виде значков Captions" в сером: 2.bp.blogspot.com/-cptrpy9ZNPg/V_ytffvGSQI/AAAAAAAAHjM/… – pomsky 2 September 2017 в 13:02

Другие вопросы по тегам:

Похожие вопросы: