This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients vstinner
Date 2020-05-12.00:01:24
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1589241684.81.0.926948421821.issue40602@roundup.psfhosted.org>
In-reply-to
Content
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.
History
Date User Action Args
2020-05-12 00:01:24vstinnersetrecipients: + vstinner
2020-05-12 00:01:24vstinnersetmessageid: <1589241684.81.0.926948421821.issue40602@roundup.psfhosted.org>
2020-05-12 00:01:24vstinnerlinkissue40602 messages
2020-05-12 00:01:24vstinnercreate