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
'''