Message328533
It seems like the easiest thing to do thta would directly benefit (to tracemalloc users) is to continue the implementation of bpo-18227:
* _sqlite: call sqlite3_config(SQLITE_CONFIG_MALLOC, pMem) to use PyMem_RawMalloc()
* _ssl: try again CRYPTO_set_mem_functions()
Python modules already using Python memory allocators:
* zlib: "zst.zalloc = PyZlib_Malloc" which calls PyMem_RawMalloc
* _decimal: mpd_mallocfunc = PyMem_Malloc
* _lzma: "self->alloc.alloc = PyLzma_Malloc" which calls PyMem_RawMalloc
* pyexpat: XML_ParserCreate_MM(encoding, &ExpatMemoryHandler,...) with ExpatMemoryHandler = {PyObject_Malloc, PyObject_Realloc, PyObject_Free}
* _bz2: "bzalloc = BZ2_Malloc" which calls PyMem_RawMalloc()
Using Python memory allocators gives access to Python builtin "memory debugger", even in release mode using PYTHONMALLOC=debug or -X dev. |
|
Date |
User |
Action |
Args |
2018-10-26 10:39:25 | vstinner | set | recipients:
+ vstinner, serhiy.storchaka, xiang.zhang |
2018-10-26 10:39:25 | vstinner | set | messageid: <1540550365.32.0.788709270274.issue35056@psf.upfronthosting.co.za> |
2018-10-26 10:39:25 | vstinner | link | issue35056 messages |
2018-10-26 10:39:25 | vstinner | create | |
|