[6] 
[DFN[単調増加時計]]は、[[単調増加]]する[[時計]]です。

[7] 
理想的環境ではすべての[[時計]]は[[単調増加]]するはずですが、
現実には[[時刻調整][時刻同期]]の結果減少したり、
長時間同じ値に留まったりする可能性があります。
そもそも[[地方時]]は[[夏時刻]]や[[標準時]]改正、
[[時間帯を超えた移動][時間帯の接続]]の影響を受ける可能性があります。
[[単調増加時計]]はこうした[[非連続の可能性][日時不連続性]]を排除したものです。

* API

[5] 
[FIG(middle list)[
- [[POSIX]] [CODE[clock_gettime]]
- [CODE(perl)[[[Time::HiRes]]::[[clock_gettime]]]]
- [[現在高分解能時刻]]
-- [CODE[Performance.now]]
]FIG]

* メモ

[1] [CITE@ja[カーネルにおけるタイマー事情 ~第2回 カーネル内の時刻/時間関連サブシステム~ | VA Linux Systems Japan株式会社]]
( ([TIME[2016-06-20 16:07:01 +09:00]]))
<http://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0002/>

[FIG(quote)[
[FIGCAPTION[
[2] [CITE[Man page of CLOCK_GETRES]]
( ([TIME[2016-02-19 11:33:56 +09:00]]))
<https://linuxjm.osdn.jp/html/LDP_man-pages/man2/clock_gettime.2.html>
]FIGCAPTION]

> CLOCK_MONOTONIC
> 設定することができないクロックで、ある開始時点からの単調増加の時間で 表現されるクロック (開始時点がどの時点となるかは規定されていない)。 この時計は、システム時間の不連続な変化 (例えば、システム管理者がシステ ム時間を手動で変更した場合など) の影響を受けないが、 adjtime(3) や NTP が行う段階的な調整の影響を受ける。
> CLOCK_MONOTONIC_COARSE (Linux 2.6.32 以降; Linux 特有)
> 高速だが精度が低い CLOCK_MONOTONIC。速度が非常に必要で、かつ高精度のタイムスタンプが不要な場合に使用するとよい。
> CLOCK_MONOTONIC_RAW (Linux 2.6.28 以降; Linux 特有)
> CLOCK_MONOTONIC と同様だが、NTP による調整や adjtime(3) が行う 段階的な調整の影響を受けない、ハードウェアによる生の時刻へのアクセス ができる。

]FIG]


[3] [CITE[linux - Starting point for CLOCK_MONOTONIC - Stack Overflow]]
( ([TIME[2016-06-20 16:11:04 +09:00]]))
<http://stackoverflow.com/questions/14726401/starting-point-for-clock-monotonic>

[4] [CITE[linux - Difference between CLOCK_REALTIME and CLOCK_MONOTONIC? - Stack Overflow]]
( ([TIME[2016-06-20 16:15:26 +09:00]]))
<http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic>