lidavidm commented on a change in pull request #12116: URL: https://github.com/apache/arrow/pull/12116#discussion_r808372492
########## File path: cpp/src/arrow/device.h ########## @@ -223,4 +236,55 @@ class ARROW_EXPORT CPUMemoryManager : public MemoryManager { ARROW_EXPORT std::shared_ptr<MemoryManager> default_cpu_memory_manager(); +/// A memory manager that uses the immutable zeros interface of the given memory pool, +/// rather than the normal mutable buffer interface. Review comment: I guess the memory manager APIs are fairly new/unused and the contract hasn't been pinned down here. That said, I also don't see the issue with sticking to the regular CPU device/memory manager even for immutable buffers. (After all, regular buffers can also be immutable already.) And to me 'managing' means 'can read the data backed by the buffer', not necessarily 'will allocate you exactly the same buffer'. (For instance: PyBuffer is part of the CPU memory manager, since it can read the data in that buffer, even if it can't allocate you a new Python object.) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org