[Python-Dev] Hashable memoryviews

Antoine Pitrou solipsis at pitrou.net
Sun Nov 13 02:19:27 CET 2011


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)

Regards

Antoine.


More information about the Python-Dev mailing list