Pavel Tupitsyn created IGNITE-15234:
---------------------------------------
Summary: Thin 3.0: Perf: ByteBuf-based message packer and unpacker
Key: IGNITE-15234
URL: https://issues.apache.org/jira/browse/IGNITE-15234
Project: Ignite
Issue Type: Improvement
Components: thin client
Affects Versions: 3.0.0-alpha3
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
Current implementations of *ClientMessagePacker* and *ClientMessageUnpacker*
are based on *msgpack-core* library and involve intermediate classes and
buffers:
{code:java}
public ClientMessageUnpacker(ByteBuf buf) {
super(new InputStreamBufferInput(new ByteBufInputStream(buf)),
MessagePack.DEFAULT_UNPACKER_CONFIG);
this.buf = buf;
}
{code}
* MessageUnpacker and MessagePacker classes use internal heap-allocated buffers
* InputStreamBufferInput uses another buffer
Netty ByteBuf is efficient by itself, we can implement packer and unpacker
directly on top of it without extra buffers and indirection.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)