[Python-Dev] Hashable memoryviews (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Sun Nov 13 02:40:43 CET 2011


On Sun, Nov 13, 2011 at 11:19 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:

On Sat, 12 Nov 2011 17:15:08 -0800 Guido van Rossum <guido at python.org> wrote:

Aren't memoryview objects mutable? I think that the underlying memory can change, so it shouldn't be hashable. Only if the original object is itself mutable, otherwise the memoryview is read-only. I would propose the following algorithm: 1) try to calculate the original object's hash; if it fails, consider the memoryview unhashable (the buffer is probably mutable) 2) otherwise, calculate the memoryview's hash with the same algorithm as bytes objects (so that it's compatible with equality comparisons)

Having a memory view be hashable if the object it references is hashable seems analogous to the way tuples are hashable if everything they reference is hashable, so +0 from me.

Cheers, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list