[Tutor] timeit at the command line

Dick Moores rdm at rcblue.com
Tue Oct 3 13:25:18 CEST 2006


At 03:05 AM 10/3/2006, Kent Johnson wrote:
>Dick Moores wrote:
> > I DID have setup code, the "x=0".  I now notice that if the "x=0" is
> > not stated as the setup code, the time difference is enormous,
> > 132-to-1 in this case.
> >
> > python -m timeit  -s"x=0" "while x<100:" "  x+=1"
> > 10000000 loops, best of 3: 0.116 usec per loop
> >
> > python -m timeit "x=0" "while x<100:" "  x+=1"
> > 100000 loops, best of 3: 15.3 usec per loop
>
>timeit runs the setup code once, then runs the timed code many times
>with the timer running. If "x=0" is outside the loop, then the while
>loop only runs once, because x == 100 after the first time through the
>loop. So your first version is effectively timing this:
>
>setup:
>x=100
>
>timed code:
>while x<100:
>    x+=1
>
>which is of course a lot faster than actually running the loopp 100 times.

Thanks, Kent. I was beginning to understand this, and now you've 
nailed it down for me.

Dick





More information about the Tutor mailing list