pythonmatlabtiming

What is the Python equivalent of Matlab's tic and toc functions?


What is the Python equivalent of Matlab's tic and toc functions?


Solution

  • Apart from timeit which ThiefMaster mentioned, a simple way to do it is just (after importing time):

    t = time.time()
    # do stuff
    elapsed = time.time() - t
    

    I have a helper class I like to use:

    class Timer(object):
        def __init__(self, name=None):
            self.name = name
    
        def __enter__(self):
            self.tstart = time.time()
    
        def __exit__(self, type, value, traceback):
            if self.name:
                print('[%s]' % self.name,)
            print('Elapsed: %s' % (time.time() - self.tstart))
    

    It can be used as a context manager:

    with Timer('foo_stuff'):
       # do some foo
       # do some stuff
    

    Sometimes I find this technique more convenient than timeit - it all depends on what you want to measure.