''' Simple Timing Function. This function prints out a message with the elapsed time from the previous call. It works with most Python 2.x platforms. The function uses a simple trick to store a persistent variable (clock) without using a global variable. ''' import time def dur( op=None, clock=[time.time()] ): if op != None: duration = time.time() - clock[0] print '%s finished. Duration %.6f seconds.' % (op, duration) clock[0] = time.time() # Example if __name__ == '__main__': import array dur() # Initialise the timing clock opt1 = array.array('H') for i in range(1000): for n in range(1000): opt1.append(n) dur('Array from append') opt2 = array.array('H') seq = range(1000) for i in range(1000): opt2.extend(seq) dur('Array from list extend') opt3 = array.array('H') seq = array.array('H', range(1000)) for i in range(1000): opt3.extend(seq) dur('Array from array extend') # Output: # Array from append finished. Duration 0.175320 seconds. # Array from list extend finished. Duration 0.068974 seconds. # Array from array extend finished. Duration 0.001394 seconds.