Наиболее полезная функция - это команда «rdtsc» (счетчик меток времени ReaD), которая увеличивается каждый раз, когда внутренние тактовые частоты процессора увеличиваются. Для процессора с частотой 3 ГГц он увеличивается на 3 миллиарда раз в секунду. Возвращает 64-разрядное целое число без знака, содержащее количество тактов с момента включения процессора.
Очевидно, что разница между двумя считываниями - это количество истекших тактовых циклов, использованных для выполнения промежуточной кодовой последовательности. Для машины с частотой 3 ГГц вы можете использовать любой из следующих алгоритмов для преобразования в доли секунды:
(time_difference + 150) / 300 дает округленное прошедшее время за 0,1 мкс (десятые доли микросекунд)
(time_difference + 1500) / 3000 дает округленное прошедшее время в нас (микросекунды)
(time_difference + 1500000/3000000 дает округленное прошедшее время в мс (миллисекундах)
Алгоритм 0.1 us является наиболее точным значением, которое вы можете использовать без необходимости корректировать накладные расходы на считывание.