On Tue, May 5, 2015 at 3:23 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Tue, May 5, 2015 at 3:00 PM, Dave Angel <da...@davea.name> wrote: >> def loop(func, funcname, arg): >> start = time.time() >> for i in range(repeats): >> func(arg, True) >> print("{0}({1}) took {2:7.4}".format(funcname, arg, time.time()-start)) >> >> start = time.time() >> for i in range(repeats): >> func(arg) >> print("{0}({1}) took {2:7.4}".format(funcname, arg, time.time()-start)) > > Note that you're explicitly passing True in one case but leaving the > default in the other. I don't know whether that might be responsible > for the difference you're seeing.
I don't think that's the cause, but I do think that it has something to do with the way the timing is being run. When I run your loop function, I do observe the difference. If I reverse the order so that the False case is tested first, I observe the opposite. That is, the slower case is consistently the one that is timed *first* in the loop function, regardless of which case that is. -- https://mail.python.org/mailman/listinfo/python-list