On Tue, Jan 4, 2011 at 2:15 PM, Daniel Stutzbach <stutzb...@google.com> wrote: > On Tue, Jan 4, 2011 at 9:33 AM, Lukas Lueg <lukas.l...@googlemail.com> > wrote: >> >> The keys are immutable anyway so the instances of PyDict could manage >> a opaque value (in fact, a counter) that changes every time a new >> value is written to any key. Once we get a reference out of the dict, >> we can can do very fast lookups by passing the key, the reference we >> know from the last lookup and our last state. The lookup returns a new >> reference and the new state. >> If the dict has not changed, the state doesnt change and the reference >> is simply taken from the passed value passed to the lookup. That way >> the code remains the same no matter if the dict has changed or not. > > I have had similar ideas in the past but have never found time to explore > them. The same mechanism could also be used to speed up attribute access on > objects.
Check out the various approaches in PEP 266, PEP 267, and PEP 280. -- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com