Функция clock()
возвращает количество процессорного времени, использованного с момента запуска процесса. Чтобы получить число в секундах, вы должны разделить на константу CLOCKS_PER_SEC
.
В большинстве случаев при вызове в спящий режим процессорное время не используется или очень мало (я всегда получаю ноль обратно).
Вы можете использовать time()
для получения секунд времени настенных часов:
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main(void) {
time_t start = time(NULL);
sleep(5);
time_t end = time(NULL);
printf("%.1f\n", difftime(end, start));
return 0;
}
Для временных интервалов gettimeofday()
может быть более полезным, поскольку дает микросекундную гранулярность, а не секунды, как time()
.