You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2021/08/03 12:19:00 UTC

[jira] [Updated] (IGNITE-15234) Thin 3.0: Perf: ByteBuf-based message packer and unpacker

     [ https://issues.apache.org/jira/browse/IGNITE-15234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vyacheslav Koptilin updated IGNITE-15234:
-----------------------------------------
    Labels: ignite-3  (was: )

> 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
>            Priority: Major
>              Labels: ignite-3
>
> 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)