[Python-Dev] cpython: hashtable.h now supports keys of any size

Serhiy Storchaka storchaka at gmail.com
Wed Mar 23 13:42:47 EDT 2016


On 23.03.16 19:37, Serhiy Storchaka wrote:
> On 21.03.16 23:01, victor.stinner wrote:
>> https://hg.python.org/cpython/rev/aca4e9af1ca6
>> changeset:   100640:aca4e9af1ca6
>> user:        Victor Stinner <victor.stinner at gmail.com>
>> date:        Mon Mar 21 22:00:58 2016 +0100
>> summary:
>>    hashtable.h now supports keys of any size
>>
>> Issue #26588: hashtable.h now supports keys of any size, not only
>> sizeof(void*). It allows to support key larger than sizeof(void*), but
>> also to
>> use less memory for key smaller than sizeof(void*).
>
> If key size is compile time constant, Py_MEMCPY() and memcpy() can be
> optimized in one machine instruction. If it is ht->key_size, it adds
> more overhead. These changes can have negative performance effect.
>
> It can be eliminated if pass a compile time constant to
> _Py_HASHTABLE_ENTRY_READ_KEY() etc.
>

Please ignore this message. It was sent to Python-Dev by mistake.



More information about the Python-Dev mailing list