Author vstinner
Recipients vstinner
Date 2020-05-12.00:01:24
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Python/mashal.c uses Modules/hashtable.h.

Python/mashal.c indirectly gets Modules/hashtable.c implementation via Modules/_tracemalloc.c which is built as a builtin module.

I propose to make the "hashtable" more standard:

* Move Modules/hashtable.h to Include/internal/pycore_hashtable.h
* Move Modules/hashtable.c to Python/hashtable.c

Attached PR implements this change but also changes the default memory allocator to PyMem_Malloc/PyMem_Free which is faster than PyMem_RawMalloc/PyMem_RawFree (current default) for memory blocks <= 512 bytes.

It remains an internal C API which cannot be used outside CPython.
Date User Action Args
2020-05-12 00:01:24vstinnersetrecipients: + vstinner
2020-05-12 00:01:24vstinnersetmessageid: <>
2020-05-12 00:01:24vstinnerlinkissue40602 messages
2020-05-12 00:01:24vstinnercreate