[Python-Dev] Very Strange Argument Handling Behavior (original) (raw)
Daniel Stutzbach daniel at stutzbachenterprises.com
Fri Apr 16 23:57:19 CEST 2010
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, Apr 16, 2010 at 4:51 PM, Benjamin Peterson <benjamin at python.org>wrote:
2010/4/16 Daniel Stutzbach <daniel at stutzbachenterprises.com>: > IIRC, there's a performance hack in dictobject.c that keeps track of whether > all of the keys are strings or not. The hack is designed so that lookup > operations can call the string compare/hash functions directly if possible, > rather than going through the slower PyObject functions.
That won't work. You could put non-string keys in a dictionary and remove them, but the dictionary would still be in the less optimized state.
It would be enough to make the common case fast (1 pointer comparison). The error case would need to check all of the keys, true, but that's not really a performance concern.
Unless you're saying you often create a dictionary, add non-string keys, remove the non-string keys, then pass it as a **kwds? ;-)
Daniel Stutzbach, Ph.D. President, Stutzbach Enterprises, LLC <http://stutzbachenterprises.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20100416/193a086f/attachment-0001.html>
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]