четверг, 30 августа 2012 г.

Bash, как много в этом слове

Собственно лечить людей башем не буду, достаточно удобный шел с удобным языком.
Пару нюансов
$(( 5/2 )) # будет два
echo 5/2 | bc -l # будет счастье.

А к чему я это всё. Писал вчера код для итерационного тестирования одной штуки на баше.
И словил достаточно предсказуемый фокус
Задача, выполнять программу в течении 5 минут и сказать, сколько раз программа выполнилась.
Алгоритм простой, на каждую итерацию определяем текущее время и увеличиваем счетчик.
Казалось бы какой будет оверхед если один запуск программы длится около одной десятой секунды. Условно счетчик должен показать на 30 секундах 300 итераций, а если вызвать 300 раз программу, то выполнится она должна за 29 секунд.
Так вот в баше оказалось, что время для ста итераций - 10 секунд, а вот выполнение этих 100 итераций заняло 7 секунд.

P.S.: всё равно баш отличная штука, но каждому микроскопу свой гвоздь.

Комментариев нет: