On Sun, 30 Nov 2014 11:15:50 -0800 Guido van Rossum <guido at python.org> wrote: > On Sun, Nov 30, 2014 at 6:15 AM, Brett Cannon <brett at python.org> wrote: > > > > On Sat, Nov 29, 2014, 21:55 Guido van Rossum <guido at python.org> wrote: > > > > All the use cases seem to be about adding some kind of getattr hook to > > modules. They all seem to involve modifying the CPython C code anyway. So > > why not tackle that problem head-on and modify module_getattro() to look > > for a global named __getattr__ and if it exists, call that instead of > > raising AttributeError? > > > > Not sure if anyone thought of it. :) Seems like a reasonable solution to > > me. Be curious to know what the benchmark suite said the impact was. > > > Why would there be any impact? The __getattr__ hook would be similar to the > one on classes -- it's only invoked at the point where otherwise > AttributeError would be raised. builtins are typically found by first looking up in the current globals (module) scope, failing, and then falling back on __builtins__. Depending on how much overhead is added to the "failing" step, there /might/ be a performance difference. Of course, that would only occur wherever a __getattr__ hook is defined. Regards Antoine.
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