回答編集履歴

2

macOSの精度

2021/07/30 14:57

投稿

int32_t
int32_t

スコア21695

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

コード修正

2021/07/30 14:57

投稿

int32_t
int32_t

スコア21695

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