David Mollitor created ORC-830: ---------------------------------- Summary: Do Not Copy String When Adding to StringHashTableDictionary Key: ORC-830 URL: https://issues.apache.org/jira/browse/ORC-830 Project: ORC Issue Type: Improvement Components: Java Reporter: David Mollitor Assignee: David Mollitor
{code:java|title=StringHashTableDictionary.java} Text tmpText = new Text(); for (int i = 0; i < candidateArray.size(); i++) { getText(tmpText, candidateArray.get(i)); if (tmpText.equals(newKey)) { return candidateArray.get(i); } } {code} When there is a collision adding a value into a {{StringHashTableDictionary}}, a temp {{Text}} object is created and then each value in the byte array is copied into the temp {{Text}} until a match is found (or worst-case scenario, a match is not found and every value is loaded). Instead of loading (copying) the values, just compare directly against the byte array without copying the data into a intermediate (temp) buffer. -- This message was sent by Atlassian Jira (v8.3.4#803005)