]> git.saurik.com Git - apple/security.git/blob - SecurityTests/cspxutils/cputimeCal/cputimeCal.cpp
Security-57031.1.35.tar.gz
[apple/security.git] / SecurityTests / cspxutils / cputimeCal / cputimeCal.cpp
1 /* compare CPUTimeRead() vs CFAbsoluteTimeGetCurrent() */
2
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include "cputime.h"
6 #include <CoreFoundation/CoreFoundation.h>
7
8 #define WAIT_TIME_SEC 1.0
9
10 int main()
11 {
12 CPUTime cputimeStart, cputimeEnd;
13 CFAbsoluteTime start;
14
15 printf("Resolution on this machine: %f nanoseconds\n",
16 CPUTimeDeltaUs(0ULL, 1ULL) * 1000.0);
17
18 start = CFAbsoluteTimeGetCurrent();
19 cputimeStart = CPUTimeRead();
20 while((CFAbsoluteTimeGetCurrent() - start) < WAIT_TIME_SEC) {
21 ;
22 }
23 cputimeEnd = CPUTimeRead();
24
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));
34
35 return 0;
36 }