/* Measure the number of clock ticks it takes to measure the number of clock ticks */ #include #include #include unsigned long long rdtsc (void) { unsigned long long returned; asm volatile (" rdtsc " : "=A" (returned)); return returned; } int main(void) { while (1) { int j; int minimum = (1 << 30); for (j = 0; j < 10; j++) { unsigned long long elapsed = -rdtsc(); elapsed += rdtsc(); minimum = (elapsed < minimum) ? elapsed : minimum; } printf("%i\n", minimum); usleep(100000); /* 10Hz */ } return 0; }