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

Guido van Rossum guido at python.org
Sun Nov 13 02:47:23 CET 2011


On Sat, Nov 12, 2011 at 5:40 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

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.

Yeah, that's ok with me too.

-- --Guido van Rossum (python.org/~guido)



More information about the Python-Dev mailing list