You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@orc.apache.org by "David Mollitor (Jira)" <ji...@apache.org> on 2021/07/02 21:02:00 UTC
[jira] [Created] (ORC-831) Do Not Copy String When Flushing
Dictionary
David Mollitor created ORC-831:
----------------------------------
Summary: Do Not Copy String When Flushing Dictionary
Key: ORC-831
URL: https://issues.apache.org/jira/browse/ORC-831
Project: ORC
Issue Type: Improvement
Components: Java
Reporter: David Mollitor
Assignee: David Mollitor
{code:java|Title=StringBaseTreeWriter.java}
if (useDictionaryEncoding) {
rowOutput.write(dumpOrder[rows.get(i)]);
} else {
dictionary.getText(text, rows.get(i));
directStreamOutput.write(text.getBytes(), 0, text.getLength());
lengthOutput.write(text.getLength());
}
{code}
The code to {{flush}} first loads (copies) the data into a {{Text}} object and then writes it to the direct stream. Instead, pass the directStream to the dictionary and have it write directly to the stream instead of an intermediate {{Text}} object.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)