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