Я использую следующий код для профилирования моих операций с целью оптимизации циклов процессора, взятых в моих функциях.
static __inline__ unsigned long GetCC(void)
{
unsigned a, d;
asm volatile("rdtsc" : "=a" (a), "=d" (d));
return ((unsigned long)a) | (((unsigned long)d) << 32);
}
Я не думаю, что он лучший поскольку даже два последовательных звонка дают мне разницу в «33». Есть предложения?