David Mollitor created ORC-854:
----------------------------------
Summary: Optimize ReadFully for Full Reads
Key: ORC-854
URL: https://issues.apache.org/jira/browse/ORC-854
Project: ORC
Issue Type: Improvement
Reporter: David Mollitor
Assignee: David Mollitor
{code:java|title=SerializationUtils.java}
private void readFully(final InputStream in, final byte[] buffer, final int
off, final int len)
throws IOException {
int n = 0;
while (n < len) {
int count = in.read(buffer, off + n, len - n);
if (count < 0) {
throw new EOFException("Read past EOF for " + in);
}
n += count;
}
}
{code}
This code is reading only small buffers: 4/8 bytes at a time. Very unlikely
that it will need to read more than once from the underlying, buffered, data
stream. Optimize this code by assuming that reading from the underlying source
will always return the requested number of bytes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)