homepage

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 benjamin.peterson, neologix, njs, pitrou, rhettinger, skrah, tim.peters, trent, vstinner, wscullin, xdegaye
Date 2017年11月02日.11:37:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1509622623.33.0.213398074469.issue18835@psf.upfronthosting.co.za>
In-reply-to
Content
"C11 aligned_alloc() / free() would be more comfortable but isn't available on MSVC."
Is it common to require the allocated memory block to be filled with zeros? In Python, calloc() is not the most common allocator. I only found 5 places where calloc is used:
Modules/_ssl.c:5172: _ssl_locks = PyMem_Calloc(_ssl_locks_count,
Modules/gcmodule.c:1689: g = (PyGC_Head *)PyObject_Calloc(1, size);
Modules/gcmodule.c:1717:_PyObject_GC_Calloc(size_t basicsize)
Objects/bytesobject.c:83: op = (PyBytesObject *)PyObject_Calloc(1, PyBytesObject_SIZE + size);
Objects/listobject.c:176: op->ob_item = (PyObject **) PyMem_Calloc(size, sizeof(PyObject *));
"posix_memalign() performance isn't that great. hand-rolled aligned_calloc() is the fastest."
I'm not sure that the cost of the memory allocator itself defeats the gain of aligned memory on algorithms. I expect data processing to be much more expensive than the memory allocation, no?
Again, the unknown remains the benchmark result.
Can anyone write a quick benchmark to measure the gain of aligned memory? 4 years ago, Raymond Hettinger wanted to use it for the set and collection.deque types.
History
Date User Action Args
2017年11月02日 11:37:03vstinnersetrecipients: + vstinner, tim.peters, rhettinger, pitrou, benjamin.peterson, trent, njs, skrah, neologix, xdegaye, wscullin
2017年11月02日 11:37:03vstinnersetmessageid: <1509622623.33.0.213398074469.issue18835@psf.upfronthosting.co.za>
2017年11月02日 11:37:03vstinnerlinkissue18835 messages
2017年11月02日 11:37:03vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /