Something odd here...
> def do_timing(num_times, *funcs): > totals = {} > for func in funcs: Here you assign func to each function in turn. > totals[func] = 0.0 And here you create a key with it > starttime = time.clock() # record starting time > for x in range(num_times): > for func in funcs: And the same here, but the result will be that when you exit this loop func will always be the last function. > totals[func] = totals[func] + elapsed But you won't have created a key for the last function so this falls over. > Traceback (most recent call last): > File "timings.py", line 16, in ? > do_timing(100, makezeros.lots_of_appends, > makezeros.one_multiply) > File "timings.py", line 12, in do_timing > totals[func] = totals[func] + elapsed > KeyError: <function one_multiply at 0x403eaf0c> I'm not quite sure what the second funcs loop is doing, but thats the reason for the key error. HTH, Alan G. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor