Issue731

Title remove legacy hash functions
Priority feature Status chatting
Superseder Nosy List jendrik, malte
Assigned To Keywords
Optional summary

Created on 2017-07-06.00:35:45 by jendrik, last changed by jendrik.

Messages
msg6416 (view) Author: jendrik Date: 2017-07-07.18:29:40
You're right, thanks for correcting this! I updated the comment in the code for 
issue693 accordingly.
msg6415 (view) Author: malte Date: 2017-07-07.18:24:37
Do we really have evidence that they cause more collisions? I thought the reason
you looked into other hash functions was that the existing ones often hashed to
adjacent keys, which is bad for closed hashing (but good for open hashing
because of better memory locality).

For me, a main reason to get rid of them is because it's simpler to only use and
maintain one set of user-defined hash functions rather than two.
msg6411 (view) Author: jendrik Date: 2017-07-06.00:35:45
We plan to remove the legacy hash functions in utils/hash.h since they produce 
too many collisions and implementing std::hash<T> for non-user-defined types T 
causes
undefined behaviour (http://en.cppreference.com/w/cpp/language/extending_std).

We want to use the new utils::HashMap and utils::HashSet for hashing types that 
have no specialization for std::hash.
History
Date User Action Args
2017-07-07 18:29:40jendriksetmessages: + msg6416
2017-07-07 18:24:37maltesetstatus: unread -> chatting
messages: + msg6415
2017-07-06 00:35:45jendrikcreate