New submission from STINNER Victor: The issue #23601 showed speedup for the dict type by replacing PyMem_Malloc() with PyObject_Malloc() in dictobject.c.
When I worked on the PEP 445, it was discussed to use the Python fast memory allocator for small memory allocations (<= 512 bytes), but I think that nobody tested on benchmark. So I open an issue to discuss that. By the way, we should also benchmark the Windows memory allocator which limits fragmentations. Maybe we can skip the Python small memory allocator on recent version of Windows? Attached patch implements the change. The main question is the speedup on various kinds of memory allocations (need a benchmark) :-) I will try to run benchmarks. -- If the patch slows down Python, maybe we can investigate if some Python types (like dict) mostly uses "small" memory blocks (<= 512 bytes). ---------- files: pymem.patch keywords: patch messages: 259290 nosy: haypo, rhettinger, serhiy.storchaka, yselivanov priority: normal severity: normal status: open title: Change PyMem_Malloc to use PyObject_Malloc allocator? type: performance versions: Python 3.6 Added file: http://bugs.python.org/file41767/pymem.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26249> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com