_Py_hashtable_new() now uses PyMem_Malloc/PyMem_Free allocator by
default, rather than PyMem_RawMalloc/PyMem_RawFree.
PyMem_Malloc is faster than PyMem_RawMalloc for memory blocks smaller
than or equal to 512 bytes.
_Py_hashtable_allocator_t alloc;
if (allocator == NULL) {
- alloc.malloc = PyMem_RawMalloc;
- alloc.free = PyMem_RawFree;
+ alloc.malloc = PyMem_Malloc;
+ alloc.free = PyMem_Free;
}
- else
+ else {
alloc = *allocator;
+ }
ht = (_Py_hashtable_t *)alloc.malloc(sizeof(_Py_hashtable_t));
if (ht == NULL)