#+ # ARES/HADES/BORG Package -- ./experiments/CIC/timing.py # Copyright (C) 2014-2020 Guilhem Lavaux # Copyright (C) 2009-2020 Jens Jasche # # Additional contributions from: # Guilhem Lavaux (2023) # #+ import time from contextlib import contextmanager @contextmanager def time_block(name): ts = time.time() yield te = time.time() print '%s %2.2f sec' % \ (name, te-ts) def timeit(method): def timed(*args, **kw): ts = time.time() result = method(*args, **kw) te = time.time() print '%r (%r, %r) %2.2f sec' % \ (method.__name__, args, kw, te-ts) return result return timed def timeit_quiet(method): def timed(*args, **kw): ts = time.time() result = method(*args, **kw) te = time.time() print '%r %2.2f sec' % \ (method.__name__, te-ts) return result return timed