File: class/Workbook/Examples/Lecture9/testinline.py
#!/opt/local/bin/python import time from sys import argv, exit numtests = 20 try: pushes, pops = eval(argv[1]), eval(argv[2]) except: print 'usage: testinline.py <pushes> <pops>'; exit(1) def test(reps, func): start_cpu = time.clock() for i in xrange(reps): # call N times x = func() return time.clock() - start_cpu def inline1(): # builtin lists x = [] for i in range(pushes): x.append('spam' + `i`) for i in range(pops): del x[-1] def inline2(): # builtin tuples x = None for i in range(pushes): x = ('spam' + `i`, x) for i in range(pops): (top, x) = x print 'lists: ', test(numtests, inline1) # run 20 times print 'tuples:', test(numtests, inline2)