Guido van Rossum wrote: > On Dec 2, 2007 12:49 PM, Neil Toronto <[EMAIL PROTECTED]> wrote: >> It turned out not *that* hard to code around for attribute caching, and >> the extra cruft only gets invoked on a cache miss. The biggest problem >> isn't speed - it's that it's possible (though extremely unlikely), while >> testing keys for equality, that a rich compare alters the underlying >> dict. This causes the caching lookup to have to try to get an entry >> pointer again, which could invoke the rich compare, which might alter >> the underlying dict.. > > How about subclasses of str? These have all the same issues...
Yeah. I ended up having it, per class, permanently revert to uncached lookups when it detects that a class dict in the MRO has non-string keys. That's flagged by lookdict_string, which uses PyString_CheckExact. Neil _______________________________________________ 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