Skip to content

Instantly share code, notes, and snippets.

@mdellavo
Last active July 21, 2017 14:38
Show Gist options
  • Save mdellavo/505e20c33c332188a4abefb632bc59e7 to your computer and use it in GitHub Desktop.
Save mdellavo/505e20c33c332188a4abefb632bc59e7 to your computer and use it in GitHub Desktop.
import time
from contextlib import contextmanager
class TimedResult(object):
def __init__(self):
self.started = None
self.stopped = None
def start(self):
self.started = time.time()
def stop(self):
self.stopped = time.time()
@property
def elapsed(self):
return self.stopped - self.started
@property
def elapsed_millis(self):
return self.elapsed * 1000
@contextmanager
def timed():
result = TimedResult()
result.start()
try:
yield result
finally:
result.stop()
with timed() as result:
time.sleep(1)
print "took", result.elapsed_millis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment