Description
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); } }
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.
Attachments
Attachments
Issue Links
- blocks
-
ORC-842 Remove newKey from StringHashTableDictionary
- Closed
- links to