Я перевірив це , але надане рішення не працювало для мене.
Використовуючи дату, я можу отримати час виконання в секундах:
T="$(date +%s)"
#some work here
T="$(($(date +%s)-T))"
echo "execution time (secs) ${T}"
Однак коли я спробую це:
T="$(date +%s%N)"
#some work here
T="$(($(date +%s%N)-T))"
Додаючи% N (як вище) до дати отримання нано-другої точності, я отримую таку помилку: -bash: 1369320760N: значення занадто велике для бази (помилка помилки "1369320760N")
Хтось знає, як виміряти час виконання в мілісекундах, використовуючи bash під Mac OS X?
# some work here
уміткою я отримую час від 0,2 до 0,3 сек. - що має бути нульовим (або принаймні постійним) для досягнення вашої мети. Тоді як/usr/bin/time usleep 50000
дає досить стійкий час 0,05 +/- 0,01 сек. (Тестується лише в Linux, не знаю, чи / usr / bin / time та / або usleep доступний на OSX.)