Created
March 27, 2010 21:18
-
-
Save zoka/346357 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Consecutive get_monotonic_time statistics | |
for 1000000 invocations: | |
282 nsec ... 6 times | |
284 nsec ... 5049 times | |
285 nsec ... 67767 times | |
286 nsec ... 7659 times | |
288 nsec ... 481497 times | |
289 nsec ... 16496 times | |
290 nsec ... 21789 times | |
291 nsec ... 308581 times | |
292 nsec ... 36755 times | |
294 nsec ... 5 times | |
296 nsec ... 3 times | |
297 nsec ... 8 times | |
300 nsec ... 31 times | |
301 nsec ... 1 times | |
303 nsec ... 17 times | |
304 nsec ... 1 times | |
306 nsec ... 18 times | |
307 nsec ... 1 times | |
309 nsec ... 1 times | |
312 nsec ... 12 times | |
315 nsec ... 11 times | |
316 nsec ... 1 times | |
318 nsec ... 1 times | |
321 nsec ... 1 times | |
322 nsec ... 1 times | |
324 nsec ... 2 times | |
354 nsec ... 1 times | |
357 nsec ... 1 times | |
360 nsec ... 1 times | |
366 nsec ... 1 times | |
375 nsec ... 1 times | |
378 nsec ... 1 times | |
390 nsec ... 1 times | |
399 nsec ... 1 times | |
408 nsec ... 1 times | |
414 nsec ... 1 times | |
415 nsec ... 1 times | |
420 nsec ... 1 times | |
422 nsec ... 1 times | |
429 nsec ... 1 times | |
432 nsec ... 2 times | |
435 nsec ... 1 times | |
442 nsec ... 1 times | |
450 nsec ... 3 times | |
453 nsec ... 1 times | |
456 nsec ... 146 times | |
457 nsec ... 10 times | |
458 nsec ... 2849 times | |
459 nsec ... 45445 times | |
460 nsec ... 5681 times | |
462 nsec ... 34 times | |
463 nsec ... 3 times | |
468 nsec ... 1 times | |
474 nsec ... 1 times | |
477 nsec ... 3 times | |
486 nsec ... 1 times | |
489 nsec ... 2 times | |
495 nsec ... 1 times | |
498 nsec ... 2 times | |
501 nsec ... 2 times | |
507 nsec ... 1 times | |
522 nsec ... 1 times | |
537 nsec ... 1 times | |
544 nsec ... 1 times | |
603 nsec ... 1 times | |
618 nsec ... 1 times | |
690 nsec ... 1 times | |
696 nsec ... 3 times | |
729 nsec ... 1 times | |
774 nsec ... 1 times | |
783 nsec ... 1 times | |
801 nsec ... 1 times | |
828 nsec ... 1 times | |
1290 nsec ... 1 times | |
1305 nsec ... 1 times | |
1323 nsec ... 1 times | |
1377 nsec ... 2 times | |
1383 nsec ... 1 times | |
1488 nsec ... 1 times | |
1491 nsec ... 1 times | |
1492 nsec ... 1 times | |
1495 nsec ... 1 times | |
1506 nsec ... 1 times | |
1509 nsec ... 1 times | |
1518 nsec ... 2 times | |
1524 nsec ... 1 times | |
1525 nsec ... 1 times | |
1530 nsec ... 2 times | |
1533 nsec ... 2 times | |
1534 nsec ... 1 times | |
1536 nsec ... 1 times | |
1537 nsec ... 1 times | |
1539 nsec ... 1 times | |
1542 nsec ... 4 times | |
1546 nsec ... 1 times | |
1548 nsec ... 3 times | |
1551 nsec ... 1 times | |
1555 nsec ... 1 times | |
1557 nsec ... 4 times | |
1560 nsec ... 2 times | |
1563 nsec ... 1 times | |
1566 nsec ... 1 times | |
1573 nsec ... 2 times | |
1575 nsec ... 2 times | |
1576 nsec ... 1 times | |
1578 nsec ... 2 times | |
1587 nsec ... 1 times | |
1591 nsec ... 1 times | |
1599 nsec ... 1 times | |
1600 nsec ... 1 times | |
1612 nsec ... 1 times | |
1633 nsec ... 1 times | |
1759 nsec ... 1 times | |
2463 nsec ... 1 times | |
2532 nsec ... 1 times | |
2548 nsec ... 1 times | |
2574 nsec ... 1 times | |
2611 nsec ... 1 times | |
2937 nsec ... 1 times | |
3456 nsec ... 1 times | |
3489 nsec ... 1 times | |
3505 nsec ... 1 times | |
3513 nsec ... 1 times | |
4995 nsec ... 1 times | |
6319 nsec ... 1 times |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <time.h> | |
#include <stdio.h> | |
#include <unistd.h> | |
// compile on OS X: g++ -o mondiff nmondiff.cc | |
// compile Linux: g++ -o mondiff nmondiff.cc -lrt | |
#ifdef __APPLE__ | |
#include <mach/mach_time.h> | |
void get_monotonic_time(timespec* tp) { | |
static mach_timebase_info_data_t __clock_gettime_inf; | |
uint64_t now,nano; | |
now = mach_absolute_time(); | |
if (0 == __clock_gettime_inf.denom) | |
mach_timebase_info(&__clock_gettime_inf); | |
nano = now * __clock_gettime_inf.numer / __clock_gettime_inf.denom; | |
tp->tv_sec = nano * 1e-9; | |
tp->tv_nsec = nano - (tp->tv_sec * 1e9); | |
} | |
#else | |
void get_monotonic_time(timespec* tp) { | |
clock_gettime(CLOCK_MONOTONIC, tp); | |
} | |
#endif | |
int main() { | |
int i; | |
static int diff[100000]; | |
timespec first, second; | |
long long f,s, delta; | |
for (i = 0; i < 1000000; i++) | |
{ | |
get_monotonic_time(&first); | |
get_monotonic_time(&second); | |
f = (long long) first.tv_sec * 1000000000 + first.tv_nsec; | |
s = (long long) second.tv_sec * 1000000000 + second.tv_nsec; | |
int d = (int) (s-f); | |
if (d < 100000) | |
diff[d]++; | |
else | |
printf("Huge diff: %d nsec !!!\n", d); | |
} | |
printf("Consecutive get_monotonic_time statistics\n"); | |
printf("for 1000000 invocations:\n"); | |
for (i = 0; i < 100000; i++) | |
if (diff[i]) | |
printf("%6d nsec ... %6d times\n", i, diff[i]); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Consecutive get_monotonic_time statistics | |
for 1000000 invocations: | |
78 nsec ... 9343 times | |
79 nsec ... 91 times | |
80 nsec ... 45087 times | |
81 nsec ... 444323 times | |
82 nsec ... 50213 times | |
84 nsec ... 443631 times | |
85 nsec ... 4278 times | |
86 nsec ... 150 times | |
87 nsec ... 1631 times | |
88 nsec ... 181 times | |
90 nsec ... 69 times | |
92 nsec ... 1 times | |
93 nsec ... 20 times | |
94 nsec ... 5 times | |
96 nsec ... 8 times | |
98 nsec ... 2 times | |
99 nsec ... 23 times | |
100 nsec ... 1 times | |
102 nsec ... 61 times | |
104 nsec ... 15 times | |
105 nsec ... 114 times | |
106 nsec ... 19 times | |
108 nsec ... 193 times | |
109 nsec ... 2 times | |
110 nsec ... 14 times | |
111 nsec ... 190 times | |
112 nsec ... 20 times | |
114 nsec ... 131 times | |
115 nsec ... 1 times | |
116 nsec ... 1 times | |
117 nsec ... 10 times | |
118 nsec ... 3 times | |
120 nsec ... 3 times | |
123 nsec ... 8 times | |
124 nsec ... 1 times | |
126 nsec ... 18 times | |
128 nsec ... 2 times | |
129 nsec ... 19 times | |
130 nsec ... 3 times | |
132 nsec ... 10 times | |
134 nsec ... 1 times | |
135 nsec ... 1 times | |
138 nsec ... 4 times | |
140 nsec ... 1 times | |
141 nsec ... 3 times | |
142 nsec ... 1 times | |
144 nsec ... 4 times | |
146 nsec ... 1 times | |
147 nsec ... 4 times | |
148 nsec ... 1 times | |
150 nsec ... 4 times | |
153 nsec ... 3 times | |
156 nsec ... 1 times | |
162 nsec ... 1 times | |
165 nsec ... 4 times | |
166 nsec ... 1 times | |
168 nsec ... 2 times | |
171 nsec ... 2 times | |
172 nsec ... 1 times | |
180 nsec ... 1 times | |
183 nsec ... 1 times | |
186 nsec ... 1 times | |
189 nsec ... 1 times | |
195 nsec ... 1 times | |
198 nsec ... 1 times | |
205 nsec ... 1 times | |
216 nsec ... 2 times | |
1167 nsec ... 1 times | |
1173 nsec ... 1 times | |
1212 nsec ... 1 times | |
1215 nsec ... 1 times | |
1221 nsec ... 1 times | |
1491 nsec ... 1 times | |
1686 nsec ... 1 times | |
1821 nsec ... 1 times | |
1968 nsec ... 1 times | |
2032 nsec ... 1 times | |
2034 nsec ... 1 times | |
2061 nsec ... 1 times | |
2142 nsec ... 1 times | |
2175 nsec ... 1 times | |
2208 nsec ... 1 times | |
2211 nsec ... 1 times | |
2229 nsec ... 1 times | |
2392 nsec ... 1 times | |
2727 nsec ... 1 times | |
2739 nsec ... 1 times | |
2778 nsec ... 1 times | |
2881 nsec ... 1 times | |
3159 nsec ... 1 times | |
3214 nsec ... 1 times | |
3403 nsec ... 1 times | |
3465 nsec ... 1 times | |
3618 nsec ... 1 times | |
3633 nsec ... 1 times | |
3642 nsec ... 1 times | |
3688 nsec ... 1 times | |
3738 nsec ... 1 times | |
3748 nsec ... 1 times | |
3883 nsec ... 1 times | |
4575 nsec ... 1 times | |
5001 nsec ... 1 times | |
6244 nsec ... 1 times | |
6510 nsec ... 1 times | |
7171 nsec ... 1 times | |
8224 nsec ... 1 times | |
8573 nsec ... 1 times | |
9391 nsec ... 1 times | |
9508 nsec ... 1 times | |
9607 nsec ... 1 times | |
10690 nsec ... 1 times | |
11704 nsec ... 1 times | |
11980 nsec ... 1 times | |
12716 nsec ... 1 times | |
12991 nsec ... 1 times | |
14212 nsec ... 1 times | |
17258 nsec ... 1 times | |
17357 nsec ... 1 times | |
19761 nsec ... 1 times | |
19983 nsec ... 1 times | |
20417 nsec ... 1 times | |
26295 nsec ... 1 times | |
26835 nsec ... 1 times |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment