Возможный дубликат:
Получение циклов процессора с помощью RDTSC - почему значение RDTSC всегда увеличивается?
Получить количество циклов процессора?
Я хочу написать код C++, который анализирует алгоритмы сортировки, и мне нужно знать, сколько циклов процессора требуется для сортировки массива.
Любые предложения о том, как это сделать?
Я нашел этот код здесь:
uint64_t rdtsc(){
unsigned int lo,hi;
__asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
return ((uint64_t)hi << 32) | lo;
}
Я понимаю, что это встроенная сборка, может кто-нибудь объяснить, как она работает и как ее использовать?
Я запускаю Линукс. Мой компьютер двухъядерный, это имеет значение?