← retour aux snippets

time.monotonic: mesurer une durée sans sauts d'horloge

Chronométrer de façon robuste indépendamment des changements système.

objectif

Chronométrer de façon robuste indépendamment des changements système.

code minimal

import time
t0 = time.monotonic(); time.sleep(0.001); dt = time.monotonic() - t0
print(dt >= 0)  # attendu: True

utilisation

import time
def bench(n=1000):
    t0 = time.monotonic()
    s = 0
    for i in range(n): s += i
    return time.monotonic() - t0
print(bench() >= 0.0)

variante(s) utile(s)

import time
print(isinstance(time.perf_counter(), float))

notes

  • preférez monotonic/perf_counter à time.time pour mesurer des durées.
  • perf_counter inclut la précision la plus fine disponible.