[Python-Dev] Fast access to builtins (original) (raw)

Guido van Rossum guido@python.org
Fri, 28 Mar 2003 09:33:19 -0500


> I don't think it's necessary to forbid things at the C API level in > the sense of making it impossible to do. We'll just document > that C code shouldn't do that.

What about Python code that modifies that module dict directly? For example, using vars() or globals() to get a reference to it and doing setitem on it. My warning code only catches assignments that go through the module tpsetattro slot. I suppose warning about direct dict poking would require a proxy object to wrap the module dict.

Yeah, that's another niggling issue. It would be a shame if using globals() or vars() anywhere in a module would disable this optimization. But we can't make these return a proxy either, because they are frequently used with e.g. "exec ... in globals()".

--Guido van Rossum (home page: http://www.python.org/~guido/)