[Python-Dev] local import cost
Skip Montanaro
skip@pobox.com
Wed, 7 May 2003 22:23:58 -0500
Thanks to Raymond H for pointing out the probably fallacy in my original
timeit runs. Here's a simple timer which I think gets at what I'm after:
import time
import math
import sys
N = 500000
def fmath():
import math
def fpass():
pass
v = sys.version.split()[0]
t = time.clock()
for i in xrange(N):
fmath()
fmathcps = N/(time.clock()-t)
t = time.clock()
for i in xrange(N):
fpass()
fpasscps = N/(time.clock()-t)
print "%s fpass/fmath: %.1f" % (v, fpasscps/fmathcps)
On my Mac I get these outputs:
2.1.3 fpass/fmath: 5.0
2.2.2 fpass/fmath: 5.6
2.3b1+ fpass/fmath: 5.3
Naturally, I expect fpass() to run a lot faster than fmath(). If my
presumption is correct though, there will be a sharp increase in the ratio,
maybe in 2.0 or 2.1, or whenever nested scopes were first introduced.
I can't run anything earlier than 2.1.x (I'll see about building 2.1) on my
Mac. I'd have to break out my Linux laptop and do a bunch of downloading
and compiling to get earlier results.