]
Dan Berindei updated IPROTO-129:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
ProtobufUtil.fromWrappedByteArray should not create a
ByteArrayInputStream
--------------------------------------------------------------------------
Key: IPROTO-129
URL:
https://issues.redhat.com/browse/IPROTO-129
Project: Infinispan ProtoStream
Issue Type: Bug
Affects Versions: 4.3.2.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Major
{{ProtobufUtil.fromWrappedByteArray}} wraps the {{bytep[]}} in a {{ByteArrayInputStream}}
and uses that as an input for {{CodedInputStream}}. But that is inefficient, because
{{CodedInputStream.StreamDecoder}} needs to allocate a buffer and copy from the stream
into the buffer before processing.
Instead we can pass the {{byte[]}} directly to {{CodedInputStream}} and use
{{CodedInputStream.ArrayDecoder}}, which doesn't need a buffer.