回答編集履歴
2
macOSの精度
test
CHANGED
@@ -25,3 +25,7 @@
|
|
25
25
|
printf("time:%" PRIu64 " nsec\n", (end_nano - start_nano));
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
macOS 10.15 で試してみたところ下3桁が常に000だったので、この環境ではマイクロ秒精度のようです。
|
1
コード修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
timespec_get(&ts, TIME_UTC);
|
12
12
|
|
13
|
-
start_nano = ts.tv_sec * 1000000000 + ts.tv_nsec;
|
13
|
+
start_nano = (uint64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
14
14
|
|
15
15
|
|
16
16
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
timespec_get(&ts, TIME_UTC);
|
22
22
|
|
23
|
-
end_nano = ts.tv_sec * 1000000000 + ts.tv_nsec;
|
23
|
+
end_nano = (uint64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
24
24
|
|
25
25
|
printf("time:%" PRIu64 " nsec\n", (end_nano - start_nano));
|
26
26
|
|