[Tutor] timeit at the command line
Kent Johnson
kent37 at tds.net
Tue Oct 3 13:35:11 CEST 2006
Dick Moores wrote:
> At 03:05 AM 10/3/2006, Kent Johnson wrote:
>> 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.
You might want to look at the source, timeit.py. There is a code
template (called 'template') near the beginning. Your setup and timed
code are inserted into the template, then it is compiled and run.
One of the dangers of timeit is that you may time something different
than what you think you are timing, as you did. It's an easy mistake to
make and hard to protect against.
Kent
More information about the Tutor
mailing list