Eu fiz uma medida da resolução clock_gettime com:
struct timespec now;
struct timespec resolution;
clock_gettime(CLOCK_MONOTONIC, &now);
clock_getres(CLOCK_MONOTONIC, &resolution);
printf("secs %d nanoseconds %d\n",resolution.tv_sec, resolution.tv_nsec);
O resultado é:
lacrosse @ lacrosse-ThinkStation-S10: ~ / Depurar $ ./a.out segundos 0 nanossegundos 1
Este resultado foi diferente do que eu esperava depois de ler os documentos on-line do departamento de Ciência da Computação da Universidade Rutgers, que afirmou que seria muito maior (ou seja, 1 segundo).