[Tutor] Astonishing timing result
Dick Moores
rdm at rcblue.com
Tue Jun 24 23:20:16 CEST 2008
At 02:06 PM 6/24/2008, broek at cc.umanitoba.ca wrote:
>----- Message from rdm at rcblue.com ---------
> Date: Tue, 24 Jun 2008 13:44:00 -0700
> From: Dick Moores <rdm at rcblue.com>
>
>>At 12:44 PM 6/24/2008, Kent Johnson wrote:
>>>On Tue, Jun 24, 2008 at 1:43 PM, Dick Moores <rdm at rcblue.com> wrote:
>>>>Output:
>>>>t1 is 0.000104, no function
>>>>t2 is 5.87e-006, function explicit
>>>>t3 is 0.000126, function imported
>>>>t1/t2 is 17.8
>>>>t1/t3 is 0.827
>>>>t3/t2 is 21.5
>>>>
>>>>Now, I'd heard that code in a function runs faster than the same
>>>code not in
>>>>a function, but even so I was surprised at the t1/t2 ratio of 17.8.
>>>>
>>>>The astonishing (to me, anyway) result was the t3/t2 ratio. I had no idea
>>>>that importing from mycalc slowed a script down at all, let alone by a
>>>>factor of 21!
>>>
>>>Note that t1 and t3 are pretty close to each other. Perhaps you should
>>>be suspicious of t2. What if __name__ != '__main__' ?
>>
>>With that,
>>t1 is 0.000104, no function
>>t2 is 0.000117, function explicit
>>t3 is 0.000113, function imported
>>t1/t2 is 0.885
>>t1/t3 is 0.914
>>t3/t2 is 0.969
>>
>>Explain?
>>
>>Dick
>
>
>Hey Dick,
>
>I'm not too clear on what it is that you want explained.
Well, Kent suggested trying if __name__ != '__main__' . Why would
that make such a difference?
>It seems to me that the difference between t2 and t3 is 1) is so small
>as to be most likely due to (effectively) random fluctuations of your
>environment (the demands that other processes were making on your
>system at the time) and 2) so small so as to not be worth worrying
>about (<http://c2.com/cgi/wiki?PrematureOptimization>).
Basically, I'm not worried, just curious. Not about the small
differences, but why did the use of the standard if __name__ ==
'__main__' result it such speed? This was not a fluke. Before
posting, I got similar results with different functions, albeit not
quite as extreme.
Am I not doing the timing correctly?
Dick
More information about the Tutor
mailing list