В разделе программирование
Андрей Баксаляр  :: 7 ноя 2015, в 08:52

Небольшая памятка для себя + кому-то может пригодиться.

Иногда требуется «засечь» время и посмотреть, сколько выполняется та или иная «тяжелая» задача в Linux'овом терминале (для этого подходит встроенная команда time). Но если time по каким-то причинам не подходит, то может пригодиться такой метод подсчета времени выполнения команд и блоков кода в bash-скриптах:

START=$(date +%s.%N)

# здесь блок кода, время выполнения которого считаем

END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)

echo Начало выполнения задачи — $START
echo Задача выполнена — $END
echo Итоговое время выполнения задачи — $DIFF

В начале в переменную START складывается текущее время (форматированный вывод команды date, количество секунд + наносекунд с начала эпохи Unix), затем выполняется блок кода или «тяжелая» задача, далее в переменную END снова записывается текущее время. Ниже обе временные метки выводятся в консоль, плюс выводится разница между START и END, сложенная в DIFF.

Понравилось? Поделись!

Пока заметку никто не прокомментировал...


Оставить новый комментарий

Войдите, чтобы оставить свой комментарий:

Войти через...


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

Популярное


Соациализируемся


Также найти меня можно в других злачных местах:

Все еще использую электронную почту:
andreybaksalyar@ya.ru