[Python-Dev] PEP 445: Add new APIs to customize Python memory allocators (second round)

Victor Stinner victor.stinner at gmail.com
Thu Jun 20 13:26:52 CEST 2013


Hi,

I changed the PEP 445 according to the discussing on python-dev.

Read it online:
http://www.python.org/dev/peps/pep-0445/

Changes:

 * add PyMemAllocatorDomain enum: PYALLOC_PYMEM_RAW, PYALLOC_PYMEM or
PYALLOC_PYOBJECT
 * rename:

   - PyMemBlockAllocator structure => PyMemAllocator
   - PyMemMappingAllocator structure => PyObjectArenaAllocator
   - PyMem_GetMappingAllocator() => PyObject_GetArenaAllocator()
   - PyMem_SetMappingAllocator() => PyObject_SetArenaAllocator()

 * group get/set functions to only keep 2 functions:
   PyMem_GetAllocator() and PyMem_SetAllocator()
 * PyMem_RawMalloc(0) now calls malloc(1) to have a well defined behaviour
 * PYALLOC_PYMEM_RAW and PYALLOC_PYMEM are now using exactly the same allocator
 * Add more references for external libraries

As expected, most changes occurred in the Proposal section.

Full diff:
http://hg.python.org/peps/rev/a17ebebe52ca

I also updated the implementation attached to:
http://bugs.python.org/issue3329

Who is going give the final decision on this PEP? Guido? Another candidate?

Victor


More information about the Python-Dev mailing list