How to get accurate ticks from a timer (high‑resolution timer) in Python

1 Answer

0 votes
import time

# Start timer (nanoseconds)
start = time.perf_counter_ns()

# Do some work
for i in range(1_000_000):
    pass

# Stop timer
end = time.perf_counter_ns()

# Raw ticks (nanoseconds)
ticks = end - start

# Convert to time units
nanoseconds  = ticks
microseconds = nanoseconds / 1_000
milliseconds = nanoseconds / 1_000_000
seconds      = nanoseconds / 1_000_000_000

# Frequency (ticks per second)
frequency = 1_000_000_000  # perf_counter_ns = 1 GHz resolution

# Print results
print("Elapsed ticks (ns):", ticks)
print("Elapsed ms:", milliseconds)
print("Elapsed us:", microseconds)
print("Elapsed seconds:", seconds)
print("Timer frequency:", frequency, "Hz")



'''
run:

Elapsed ticks (ns): 40886850
Elapsed ms: 40.88685
Elapsed us: 40886.85
Elapsed seconds: 0.04088685
Timer frequency: 1000000000 Hz

'''

 



answered May 9 by avibootz
...