4 #include <sys/sysctl.h>
6 long long cpucycles_amd64cpuspeed(void)
8 unsigned long long result
;
9 asm volatile(".byte 15;.byte 49;shlq $32,%%rdx;orq %%rdx,%%rax"
10 : "=a" (result
) :: "%rdx");
14 long long cpucycles_amd64cpuspeed_persecond(void)
22 if (sysctl(oid
,2,&val
,&size
,0,0) == -1) return 0;
23 if (size
!= sizeof val
) return 0;
24 return val
* 1000000LL;