У меня есть сценарий на while . В то время как я хотел бы измерить время, необходимое для его работы, в миллисекундах, что-то вроде этого:

while condition;
do
    #begin measure time at begining
    instructions
    #end measure time at end
    echo "$end-$begin"
done

Я не могу использовать date +%s.%N потому что на моей машине его нет, поэтому мне нужно использовать команду time или times . Есть идеи как?

Спасибо

1 ответ1

0

Если вы хотите использовать команду времени, вы можете запустить часть instructions в подоболочке:

!#/ Бен / Баш

while condition;
do
    time $(
    instruction1
    instruction2
    )
done

Вы просто должны проанализировать вывод time после этого. Рабочий пример:

mtak@rubiks:~$ time $(
> sleep 2
> sleep 3
> )

real    0m5,004s
user    0m0,000s
sys 0m0,000s
mtak@rubiks:~$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .