Issue 13411: Hashable memoryviews - Python tracker

Created on 2011-11-15 22:20 by pitrou, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (10) msg147714 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-11-15 22:20
This patch allows hashing of memoryviews, as discussed on python-dev.
msg147811 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-11-17 16:50
Does memory_hash() reject non-contiguous memory?

_Py_HashBytes() might be reused by unicode_hash() for PyUnicode_1BYTE_KIND.
msg147812 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-11-17 16:51
Except these two minor nits, the patch looks good to me.
msg147813 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-11-17 16:57
> Does memory_hash() reject non-contiguous memory?

It should, since it checks the strides array.

> _Py_HashBytes() might be reused by unicode_hash() for PyUnicode_1BYTE_KIND.

I don't really see how unicode hashing should be related to bytes
hashing (even though apparently an (outdated?) test checks for that).
msg147814 - (view) Author: Charles-François Natali (neologix) * (Python committer) Date: 2011-11-17 17:55
I'm not sure that the "register" storage class specifier is still relevant with modern compilers: I'm pretty sure gcc ignores it unless -O0, and I think I've read somewhere Microsoft's compiler ignores it too.
msg147815 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-11-17 18:00
> I'm not sure that the "register" storage class specifier is still
> relevant with modern compilers: I'm pretty sure gcc ignores it unless
> -O0, and I think I've read somewhere Microsoft's compiler ignores it
> too.

I don't think so either. I was lazily moving the original code, but I
could remove those bits.
msg148080 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2011-11-21 19:54
New changeset 215690b782f8 by Antoine Pitrou in branch 'default':
Issue #13411: memoryview objects are now hashable when the underlying object is hashable.
http://hg.python.org/cpython/rev/215690b782f8
msg148082 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-11-21 19:57
Fixed, thanks.
msg151451 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-01-17 12:59
Reopening as a reminder that it isn't fixed yet in http://hg.python.org/features/pep-3118 .
msg151955 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-01-25 17:44
Done in: http://hg.python.org/features/pep-3118/rev/508d5e3c579c