Я пытаюсь сохранить время выполнения программы на 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
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
очень ограничены.