Remus Rusanu created HIVE-4613:
----------------------------------

             Summary: Improve cache friendliness of VectorHashKeyWrapper
                 Key: HIVE-4613
                 URL: https://issues.apache.org/jira/browse/HIVE-4613
             Project: Hive
          Issue Type: Sub-task
          Components: Query Processor
    Affects Versions: vectorization-branch
            Reporter: Remus Rusanu
            Assignee: Remus Rusanu
            Priority: Minor


1) the implementation of VectorHashKeyWrapper uses an array of primitives even 
when there is only one key, which implies one extra pointer chase. for single 
key group by we can do a more optimal implementation that uses a primitive 
field. The draw back is that the VectorHashKeyWrapper becomes abstract and the 
API uses virtual functions. Note that the most critical function is .equals, 
which is already virtual.
2) make the bucket list comparison more cache friendly. I expect this to be the 
critical for perf because of the number of calls on bucket collisions. If we 
ensure that instances with equals hashcode were allocated together (eg. using 
array allocations in batches) then we can get some benefit from allocation 
proximity (TLB, NUMA).

I'll leave these as minor since we have no evidence atm that the issue actually 
exists, nor any way to measure the impact of a fix.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to