time_t
- это абсолютное время, представленное как целое число секунд с начала эпохи UNIX (полночь по Гринвичу, 1 января 1970 года).Это полезно как однозначное, простое в работе представление точки во времени.
clock_t
- относительное измерение времени, представленное целым числом тактов с некоторого момента времени(возможно, при загрузке компьютера, но без гарантий, так как он может часто переворачиваться).Есть такты часов CLOCKS_PER_SEC в секунду;значение этой константы может варьироваться в зависимости от операционной системы.Иногда его используют для целей синхронизации, но он не очень хорош из-за его относительно низкого разрешения.
Один небольшой пример для clock_t
:
#include <time.h>
#include <stdio.h>
int main () {
clock_t start_t, end_t, total_t;
int i;
start_t = clock();
printf("Starting of the program, start_t = %ld\n", start_t);
for(i=0; i< 10000000; i++) { }
end_t = clock();
printf("End of the big loop, end_t = %ld\n", end_t);
total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;
printf("Total time taken by CPU: %f\n", total_t );
return(0);
}