Skip to content

Instantly share code, notes, and snippets.

@vitiral
Created October 2, 2014 01:27
Show Gist options
  • Save vitiral/2688043ddaa27f60501e to your computer and use it in GitHub Desktop.
Save vitiral/2688043ddaa27f60501e to your computer and use it in GitHub Desktop.
Timer class for timings
def test_timer(timer, duration = 1):
timer.enable()
time.sleep(1)
timer.disable()
print(timer.get_elapsed())
timer = Timer()
test_timer(timer)
class Timer(object):
def __init__(self, time=time.time):
self.time = time
self.elapsed = 0
self.start = None
def enable(self):
if self.start is not None: raise ValueError
self.start = self.time()
def disable(self):
if self.start is None: raise ValueError
period = self.time() - self.start
self.elapsed += period
self.start = None
def get_elapsed(self):
if self.start is None:
return self.elapsed
else:
return time.time() - self.start + self.elapsed
timer = Timer()
test_timer(timer)
ptimer = Timer(time.process_time)
test_timer(ptimer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment