#include typedef unsigned long long u_llong; unsigned long long get_tsc() { unsigned long low, high; asm volatile("rdtsc" : "=d" (high), "=a" (low)); ((unsigned long long)high << 32) | low; } int main(void) { u_llong start, stop, time[10], avg = 0; int i; for (i = 0; i < 10; ++i) { start = get_tsc(); sleep(1); stop = get_tsc(); time[i] = stop - start; avg+= time[i]; } avg = avg/10; for (i = 0; i < 10; ++i) printf(" %u", time[i]); printf("\n"); printf("1 second is %lu cycles\n",avg); }