#include #include #include static uint64_t __attribute__((noinline)) rdtsc(void) { uint32_t lo, hi; __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); return (uint64_t)hi << 32 | lo; } uint64_t x; char y[100]; void fn(void *x) { int i = 0; while (1) { y[(i%100)] = 42; i++; } } int main() { x = 0; int i; int times=10000000; pthread_t thread; #ifdef THREAD pthread_create (&thread, NULL, (void *) &fn, NULL); #endif uint64_t start = rdtsc(); for (i=0;i