Команда buitin bash timeдает точность выполнения в миллисекундах, а GNU time(обычно / usr / bin / time) дает точность в несколько секунд. times(2)Системный вызов дает раз в часах, и 100 часов = 1 секунда (обычно), так что точность, как GNU time. Итак, вопрос в том, что использует bash, timeчтобы он был более точным?
Ммм ... они оба дают миллисекунды на моей системе ... (FC16)
—
Nico
Странный. Что дает вам printf ("% d \ n", sysconf (_SC_CLK_TCK)); должно быть 100, как я уже говорил выше. У кого-то есть наблюдения, подобные моим: dirac.org/linux/time, но объяснений нет.
—
Лукаш Сова
да, в действительности это дает 100 ...
—
Нико
Тогда я понятия не имею, почему это так. Предполагается, что время GNU использует времена syscall, которые используют sysconf (_SC_CLK_TCK) для преобразования в секунды.
—
Лукаш Сова
FWIW Когда вы говорите «bash
—
Деннис
time», я предполагаю, что вы имеете в виду BSD, timeкоторый использует getrusage.