Eyal Lotem wrote:
> My question is specifically regarding the transition back from
> lookdict_string (the initial value) to the general lookdict.
> 
> Currently, when a string-only dict is trying to look up any
> non-string, it reverts back to a general lookdict.
> 
> Wouldn't it be better (especially in the more important case of a
> string-key-only dict), to revert to the generic lookdict when a
> non-string is inserted to the dict, rather than when one is being
> searched?
[...]
> This does not seem like a significant issue, but as I know a lot of
> effort went into optimizing dicts, I was wondering if I am missing
> something here.

Yes, you are: when doing a lookup with a non-string-key, that key could 
be an instance of a class that has __hash__ and __eq__ implementations 
that make the key compare equal to some string that is in the 
dictionary. So you need to change to lookdict, otherwise that lookup 
might fail.

Cheers,

Carl Friedrich Bolz

_______________________________________________
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