Skip to content

Instantly share code, notes, and snippets.

@YS-L
Last active September 10, 2015 10:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YS-L/2e6d25fba3c1d1453582 to your computer and use it in GitHub Desktop.
Save YS-L/2e6d25fba3c1d1453582 to your computer and use it in GitHub Desktop.
Tic-toc timer in Python
import time
class Timer(object):
""" A quick tic-toc timer
Credit: http://stackoverflow.com/questions/5849800/tic-toc-functions-analog-in-python
"""
def __init__(self, name=None, verbose=True):
self.name = name
self.verbose = verbose
self.elapsed = None
def __enter__(self):
self.tstart = time.time()
return self
def __exit__(self, type, value, traceback):
self.elapsed = time.time() - self.tstart
if self.verbose:
if self.name:
print '[%s]' % self.name,
print 'Elapsed: %s' % (self.elapsed)
def usage1():
print 'Verbose mode'
with Timer('Usage 1'):
# do stuff
for _ in range(1000000):
pass
def usage2():
print 'Non-verbose mode, post-mortem access'
t = 0
with Timer(verbose=False) as timer:
for _ in range(1000000):
pass
t += timer.elapsed
print 'After everything, t =', t
if __name__ == '__main__':
usage1()
usage2()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment