This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Enhance std::hash for pointers


On 08/05/2015 10:02, Richard Biener wrote:
On Wed, May 6, 2015 at 10:10 PM, FranÃois Dumont <frs.dumont@gmail.com> wrote:
Hi

     Following Marc Glisse comment #4
on:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65641 I would like to
propose this enhancement to the hash functor for pointers. It simply gets
rid of the irrelevant bits on pointers hash code based on memory alignment
of the pointed type. The only drawback I can think of is that the type needs
to be complete at std::hash instantiation time but is it really an issue ?

     IMO it is quite obvious that the resulting hash code will be better but
If you use a real hashing function that's not true.  That is, something
else than GCCs pointer_hash (void *p) { return (uintptr_t)p >>3; }.

Sorry, I don't understand your remark. Do you mean that if someone is not using std::hash to hash its pointers he won't benefit from the enhancement ?

It is a good point however to see that gcc is using something similar internally.

FranÃois


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]