Skip to content

Instantly share code, notes, and snippets.

@fladd
Last active October 7, 2019 09:30
Show Gist options
  • Save fladd/e29e65b9e34dd72121630a0981b02975 to your computer and use it in GitHub Desktop.
Save fladd/e29e65b9e34dd72121630a0981b02975 to your computer and use it in GitHub Desktop.
import time
titles = ("Clock", "Implementation", "Monotonic", "Adjustable", "Resolution")
print("".join(str(x).ljust(30) for x in titles))
print("".join(("-" * len(x)).ljust(30) for x in titles))
for clock in ("time",
"clock",
"monotonic",
"perf_counter",
"process_time"):
info = time.get_clock_info(clock)
infos = [clock, info.implementation, info.monotonic, info.adjustable, info.resolution]
print("".join(str(x).ljust(30) for x in infos))
import math
import time
import expyriment as xpy
LOOPS = 10 ** 6
clocks = {"clock": time.clock,
"time": time.time,
"time_ns": time.time_ns,
"monotonic": time.monotonic,
"monotonic_ns": time.monotonic_ns,
"perf_counter": time.perf_counter,
"perf_counter_ns": time.perf_counter_ns,
"process_time": time.process_time,
"process_time_ns": time.process_time_ns,
"expyriment": xpy.misc.Clock().monotonic_time}
for clock in clocks:
min_dt = [abs(clocks[clock]() - clocks[clock]())
for _ in range(LOOPS)]
min_dt = min(filter(bool, min_dt))
if clock.endswith("ns"):
print("min " + clock + " delta: %s ns" % min_dt)
else:
print("min " + clock + " delta: %s ns" % math.ceil(min_dt * 1e9))
@lindemann09
Copy link

Why is expyriment so slow (at least under Linux)?

min clock delta: 1000 ns
min time delta: 239 ns
min time_ns delta: 60 ns
min monotonic delta: 50 ns
min monotonic_ns delta: 69 ns
min perf_counter delta: 59 ns
min perf_counter_ns delta: 70 ns
min process_time delta: 219 ns
min process_time_ns delta: 229 ns
min expyriment delta: 1780 ns

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment