[Python-Dev] Re: [Python-checkins] python/nondist/peps pep-0329.txt, 1.2, 1.3 (original) (raw)
Jeremy Hylton jeremy at alum.mit.edu
Thu Apr 22 11:56:57 EDT 2004
- Previous message: [Python-Dev] Re: [Python-checkins] python/nondist/peps pep-0329.txt, 1.2, 1.3
- Next message: [Python-Dev] Re: [Python-checkins] python/nondist/peps pep-0329.txt, 1.2, 1.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 2004-04-21 at 10:50, Phillip J. Eby wrote:
I could be wrong, but it seems to me that globals shouldn't be nearly as bad for performance as builtins. A global only does one dict lookup, while builtins do two. Also, builtins can potentially be optimized away altogether (e.g. 'while True:') or converted to fast LOADCONST, or perhaps even a new CALLBUILTIN opcode, assuming that adding the opcode doesn't blow the cacheability of the eval loop.
The coarse measurements I made a couple of years ago suggest that LOAD_GLOBAL is still substantially slower than LOAD_FAST. Less than 100 cycles for LOAD_FAST and about 400 cycles for LOAD_GLOBAL.
http://zope.org/Members/jeremy/CurrentAndFutureProjects/PerformanceMeasurements
It would be good to repeat the measurements with current Python. I suspect it's a lot harder to figure out where to measure the start and stop times. The timestamps would need to be integrated with PREDICT and fast_next_opcode, for example.
Jeremy
- Previous message: [Python-Dev] Re: [Python-checkins] python/nondist/peps pep-0329.txt, 1.2, 1.3
- Next message: [Python-Dev] Re: [Python-checkins] python/nondist/peps pep-0329.txt, 1.2, 1.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]