[Python] OS の時刻(システムクロック)に影響を受けないように時間の計測を行う

time.monotonic() を使えば OK です。

元々、以下の様に time.time() を使って処理時間の計測を行っていたのですが、この場合、計測途中でシステムクロックが変更されてしまうと、計測時間も影響を受けてしまいます。

import time

start = time.time()

# この間にシステムクロックが変更されると計測時間にも影響を与える

elapsed_time = time.time() - start

# 過去に戻ると負の値に、未来に行くと大きな値になってしまう
print(elapsed_time)

time.monotonic() を使えばシステムクロックの影響を受けないので、純粋に処理にかかった実時間を計測できます。

参考 URL

Hugo で構築されています。
テーマ StackJimmy によって設計されています。