[ https://issues.apache.org/jira/browse/HIVE-15741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Teddy Choi updated HIVE-15741: ------------------------------ Attachment: HIVE-15741.2.patch I applied [~gopalv]'s feedback. I added length check and start/end byte checks. It will be faster even for strings like URLs. Thank you. > Faster unsafe byte array comparisons > ------------------------------------ > > Key: HIVE-15741 > URL: https://issues.apache.org/jira/browse/HIVE-15741 > Project: Hive > Issue Type: Improvement > Reporter: Teddy Choi > Assignee: Teddy Choi > Priority: Minor > Attachments: HIVE-15741.1.patch, HIVE-15741.2.patch > > > Byte array comparison is heavily used in joins and string conditions. Pure > Java implementation is simple but not performant. An implementation with > Unsafe#getLong is much faster. It's already implemented in > org.apache.hadoop.io.WritableComparator#compare. The WritableComparator class > handles exceptional cases, including a different endian and no access to > Unsafe, and it was used for many years in production. > This patch will replace pure Java byte array comparisons with safe and faster > unsafe ones to get more performance. -- This message was sent by Atlassian JIRA (v6.3.4#6332)