Haisheng Yuan created CALCITE-4096:
--------------------------------------
Summary: Change Pair.hashCode() not to use XOR
Key: CALCITE-4096
URL: https://issues.apache.org/jira/browse/CALCITE-4096
Project: Calcite
Issue Type: Improvement
Components: core
Reporter: Haisheng Yuan
JDK Map Entry uses XOR maybe because it is unlikely to use Map Entry as the
HashMap key.
But Pair in Calcite is a general data structure, it is used in several places
as the key of HashMap/HashSet. XOR is not a good candidate for hash algorithm,
it is more likely to generate hash collision than simple prime multiplication,
especially when pair.left equals pair.right.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)