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.

-- 
Daniel Stutzbach
_______________________________________________
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

Reply via email to