Instrucțiunile RDTSC (Read Time-Stamp Counter) și RDTSCP citesc numărul exact de cicluri de ceas trecute de la pornirea procesorului, stocând valoarea pe 64 de biți în perechea EDX:EAX.
; Măsurarea duratei exacte a unei secțiuni de cod în cicluri de procesor:
global cronometru_start
cronometru_start:
lfence ; Oprește reordonarea instrucțiunilor (Memory Fence)
rdtsc ; Citește contorul în EDX:EAX
shl rdx, 32
or rax, rdx ; Combină în RAX pe 64 de biți
ret
; Valoarea returnată poate fi comparată cu un al doilea apel după executarea algoritmului
Precizie nanosecundară: Este cel mai precis instrument de micro-benchmarking hardware disponibil pe arhitectura x86.
Întrebări & Exemple de Cod:
RDTSC și RDTSCP în x86_64: Măsurarea Ciclurilor Reale de Ceas ale CPUAi o nelămurire despre utilizarea comenzii
RDTSC și RDTSCP în x86_64: Măsurarea Ciclurilor Reale de Ceas ale CPUsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.