On Sun, Nov 8, 2015 at 10:19 PM, BartC <b...@freeuk.com> wrote: > I've never understood why this seems to be necessary in Python. Why do names > have to be looked up? (I'm assuming this is searching by name in some sort > of table.)
Yes, if by "searching" you include hash-table lookup. A CPython dictionary is a *highly* optimized data structure, specifically because it's used virtually everywhere (I understand Lua's "table" type has similar optimizations for the same reason). In the common case, where your names come from literal text in the module, the strings used for the lookup will be interned constants, and their hashes will have been precalculated and stored, so the lookup is pretty easy. So it's a constant-time operation, and while that constant may be larger than a simple offset-and-fetch, it's still pretty fast in the overall scheme of things. ChrisA -- https://mail.python.org/mailman/listinfo/python-list