回答編集履歴
2
macOSの精度
answer
CHANGED
@@ -11,4 +11,6 @@
|
|
11
11
|
timespec_get(&ts, TIME_UTC);
|
12
12
|
end_nano = (uint64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
13
13
|
printf("time:%" PRIu64 " nsec\n", (end_nano - start_nano));
|
14
|
-
```
|
14
|
+
```
|
15
|
+
|
16
|
+
macOS 10.15 で試してみたところ下3桁が常に000だったので、この環境ではマイクロ秒精度のようです。
|
1
コード修正
answer
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
struct timespec ts;
|
5
5
|
uint64_t start_nano, end_nano;
|
6
6
|
timespec_get(&ts, TIME_UTC);
|
7
|
-
start_nano = ts.tv_sec * 1000000000 + ts.tv_nsec;
|
7
|
+
start_nano = (uint64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
8
8
|
|
9
9
|
// 計測したい処理はここに。
|
10
10
|
|
11
11
|
timespec_get(&ts, TIME_UTC);
|
12
|
-
end_nano = ts.tv_sec * 1000000000 + ts.tv_nsec;
|
12
|
+
end_nano = (uint64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
13
13
|
printf("time:%" PRIu64 " nsec\n", (end_nano - start_nano));
|
14
14
|
```
|