]>
git.saurik.com Git - apple/security.git/blob - SecurityTests/cspxutils/cputimeCal/cputimeCal.cpp
1 /* compare CPUTimeRead() vs CFAbsoluteTimeGetCurrent() */
6 #include <CoreFoundation/CoreFoundation.h>
8 #define WAIT_TIME_SEC 1.0
12 CPUTime cputimeStart
, cputimeEnd
;
15 printf("Resolution on this machine: %f nanoseconds\n",
16 CPUTimeDeltaUs(0ULL, 1ULL) * 1000.0);
18 start
= CFAbsoluteTimeGetCurrent();
19 cputimeStart
= CPUTimeRead();
20 while((CFAbsoluteTimeGetCurrent() - start
) < WAIT_TIME_SEC
) {
23 cputimeEnd
= CPUTimeRead();
25 printf("Waited %f sec; elapsed CPUTime %f s\n",
26 WAIT_TIME_SEC
, CPUTimeDeltaSec(cputimeStart
, cputimeEnd
));
27 printf("cputimeStart %08X:%08X cputimeEnd %08X:%08X\n",
28 (unsigned)(cputimeStart
>> 32),
29 (unsigned)(cputimeStart
& 0xffffffffULL
),
30 (unsigned)(cputimeEnd
>> 32),
31 (unsigned)(cputimeEnd
& 0xffffffffULL
));
32 printf("cputime raw delta %lu\n",
33 (unsigned long)(cputimeEnd
- cputimeStart
));