You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Vladimir Ozerov <vo...@gridgain.com> on 2015/09/25 13:28:19 UTC

Optimizing portable protocol.

Igniters,

Thorough analysis of portable object format lead me to conclusion that
significant part of transferred data is either zeros, several constants
(e.g. 0, 1, -1, true, false) or some redundant information.

I created two tickets for this with high priority and I think we should at
least evaluate them before 1.5 is released.

1) Portable object header can be shrunk from 18 to 10-11 bytes in the most
common cases.
https://issues.apache.org/jira/browse/IGNITE-1548

2) Portable object primitive fields in non-raw mode (the most common case
for user object) can be decreased in size on ~30-50%:
bool:  10 -> 5    bytes (50%)
byte:  10 -> 5-6  bytes (45%)
short: 11 -> 5-7  bytes (~45%)
int:   13 -> 5-9  bytes (~45%)
long:  17 -> 5-13 bytes (~35% on average)
https://issues.apache.org/jira/browse/IGNITE-1549

Vladimir.

Re: Optimizing portable protocol.

Posted by Yakov Zhdanov <yz...@apache.org>.
Vova, very good points!

--Yakov

2015-09-25 14:28 GMT+03:00 Vladimir Ozerov <vo...@gridgain.com>:

> Igniters,
>
> Thorough analysis of portable object format lead me to conclusion that
> significant part of transferred data is either zeros, several constants
> (e.g. 0, 1, -1, true, false) or some redundant information.
>
> I created two tickets for this with high priority and I think we should at
> least evaluate them before 1.5 is released.
>
> 1) Portable object header can be shrunk from 18 to 10-11 bytes in the most
> common cases.
> https://issues.apache.org/jira/browse/IGNITE-1548
>
> 2) Portable object primitive fields in non-raw mode (the most common case
> for user object) can be decreased in size on ~30-50%:
> bool:  10 -> 5    bytes (50%)
> byte:  10 -> 5-6  bytes (45%)
> short: 11 -> 5-7  bytes (~45%)
> int:   13 -> 5-9  bytes (~45%)
> long:  17 -> 5-13 bytes (~35% on average)
> https://issues.apache.org/jira/browse/IGNITE-1549
>
> Vladimir.
>