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)

Reply via email to