[Python-Dev] Making builtins more efficient (original) (raw)

Paul Moore p.f.moore at gmail.com
Thu Mar 9 13:00:57 CET 2006


On 3/9/06, Nick Coghlan <ncoghlan at gmail.com> wrote:

Steven Elliott wrote: > I'm interested in how builtins could be more efficient. I've read over > some of the PEPs having to do with making global variables more > efficient (search for "global"): > http://www.python.org/doc/essays/pepparade.html > But I think the problem can be simplified by focusing strictly on > builtins.

Unfortunately, builtins can currently be shadowed in the module global namespace from outside the module (via constructs like "import mod; mod.str = mystr"). Unless/until that becomes illegal, focusing solely on builtins doesn't help - the difficulties lie in optimising builtin access while preserving the existing name shadowing semantics.

Is there any practical way of detecting and flagging constructs like the above (remotely shadowing a builtin in another module)? I can't see a way of doing it (but I know very little about this area...).

If it is possible, I'd say it's worth implementing at least a warning sooner rather than later - the practice seems questionable at best, and any progress towards outlawing it would help in work on optimising builtins.

Paul.



More information about the Python-Dev mailing list