> Guido, any chance you can quickly run the above two through the thirty-leven > versions of Python you have laying about so we can narrow this down or > refute my faulty memory? I've seen some recent posts by you which had > performance data as far back as 1.3. I tried with 2.1, 2.2 and CVS but saw > no discernable differences within versions: > > % python ~/local/bin/timeit.py -s'def f(): pass' 'import math; f()' > 100000 loops, best of 3: 7.44 usec per loop > % python ~/local/bin/timeit.py -s'def f(): import math' 'f()' > 100000 loops, best of 3: 7.6 usec per loop > > % python2.2 ~/local/bin/timeit.py -s'def f(): pass' 'import math; f()' > 100000 loops, best of 3: 9.19 usec per loop > % python2.2 ~/local/bin/timeit.py -s'def f(): import math' 'f()' > 100000 loops, best of 3: 9.05 usec per loop > > % python2.1 ~/local/bin/timeit.py -s'def f(): pass' 'import math; f()' > 100000 loops, best of 3: 9.16 usec per loop > % python2.1 ~/local/bin/timeit.py -s'def f(): import math' 'f()' > 100000 loops, best of 3: 9.12 usec per loop I don't think timeit.py helps here. It works by substituting *both* the setup and statement inside a compiled function. So, *none* of the above timings show the effect of a top level import versus one that is inside a function. It does compare 1 deep nesting to 2 levels deep. So, you'll likely have to roll your own minature timer if you want a straight answer. Raymond Hettinger
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4