[ https://issues.apache.org/jira/browse/HIVE-1738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923759#action_12923759 ]
Zheng Shao commented on HIVE-1738: ---------------------------------- +1. This is smart! > public boolean areEqual(ArrayList<Object> ol0, ArrayList<Object> ol1) ... Why do we need to care about the case that the 2 array lists are different in size / shorter than numFields? > for (int i = 0; i < numFields; i++) { We might want to try comparing the last field first. The reason is that in sort-based aggregation, the last key is more likely to be different than the first key. Not sure the effect is big enough to be noticeable though. > Optimize Key Comparison in GroupByOperator > ------------------------------------------ > > Key: HIVE-1738 > URL: https://issues.apache.org/jira/browse/HIVE-1738 > Project: Hive > Issue Type: Improvement > Reporter: Siying Dong > Assignee: Siying Dong > Fix For: 0.7.0 > > Attachments: HIVE.1738.1.patch, HIVE.1738.2.patch, HIVE.1738.3.patch > > > GroupByOperator uses ObjectInspectorUtils.compare() to compare keys, which is > written for generalized object comparisons, which is not optimized for > group-by operator. By optimizing this logic, we expect to see obvious > improvements in GroupByOperator. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.