Я просто задаюсь вопросом что пределы для time
. У меня есть программа, которая всегда берет точно 20 мс, таким образом, я предполагаю, что это является самым низким, она может иметь размеры, но я хочу видеть, существует ли своего рода документация этого.
Самый короткий временной интервал, который это может измерить, является 1 мигом, который является инверсией частоты, указанной в опциях сборки для ядра (CONFIG_HZ).
Я соглашаюсь с ответом Ignacio однако, я полагаю, что он упускает критическую суть. Хотя миг является теоретически самой маленькой единицей, это может иметь размеры, иногда очень короткие продолжительности неточны, потому что используемое оборудование не измеряет изменения вовремя настолько быстро. По моему опыту, что-либо, меньше чем одна миллисекунда не может точно сравниться с чем-то еще (хотя то число могло быть целых 5 или 10 миллисекундами). При попытке сравнить определенной операции или программы, считайте выполнение ее многими сотнями или тысячи времен, затем делящих то общее время на количество повторений для нахождения более точного значения.
Попробуйте это:
gcc -o timetest -x c - <<< "int main() {}"; time ./timetest
На моем (старый и медленный) система, последующие выполнения:
time ./timetest
конец в так же мало как:
real 0m0.005s
user 0m0.004s
sys 0m0.000s