On Sat, Oct 28, 2017 at 03:43:47PM +1000, Nick Coghlan wrote: > 1. CPython's own support for platforms where we don't have a native aligned > memory allocation API to call is covered by PEP 11, so if all current > buildbots still work, then it will be up to the folks interested in a > platform that *doesn't* offer aligned allocations to provide both a > suitable emulation and a buildbot to test it on.
Indeed, the feature is backed up by PEP 11. > 2.While all of the CPython-provided memory allocators will implement the > new slots, the folks implementing their own custom allocators will need a > defined upgrade path in the "Porting" section of the What's New guide. For > that, an explicit error on 3.7+ that says "Configured custom allocator > doesn't implement aligned memory allocations" is likely going to be easier > to debug than subtle issues with the way an implicit emulation layer > interacts with the other memory allocator slots. > > To appropriately address 2, we need more info not about which platforms > natively support aligned memory allocations, but rather from folks that > actually are implementing their own custom allocators. It may be that > making the low level cross-platform raw alligned allocators available as a > public API (independently of the switchable allocator machinery) will be a > more appropriate way of handling that case than providing an emulation > layer in terms of the old slots. I don't have an opinion whether new slots should be available. For my use case I just need PyMem_AlignedAlloc(), PyMem_AlignedFree() that automatically use the faster allocator for 'sizeof(void *) <= align <= ALIGNMENT' and 'size <= SMALL_REQUEST_THRESHOLD'. So yes, it would be nice to hear from people who implement custom allocators. Stefan Krah _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com