Команда 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
.