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

Vladimir Ozerov updated IGNITE-6418:
------------------------------------
    Labels: iep-2  (was: )

> Binary: optionally write integer datatypes with varint encoding
> ---------------------------------------------------------------
>
>                 Key: IGNITE-6418
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6418
>             Project: Ignite
>          Issue Type: Task
>          Components: binary
>    Affects Versions: 2.1
>            Reporter: Vladimir Ozerov
>              Labels: iep-2
>
> Currently all integer data types are written as is. {{Integer}} always takes 
> 4 bytes, {{Long}} - 8 bytes, etc.
> There is well-known technique called "varint encoding" which can compress 
> integer values [1]. When used, {{Integer}} can take 1-5 bytes, {{Long}} - 
> 1-10 bytes. So when values are small enough we can save a lot of space. 
> But this technique is not unversal, as big encoded values might require more 
> bytes comparing to plain form. Also it might cause slowdowns in SQL engine. 
> So this approach cannot be applied globally. Instead, we should allow users 
> to control whether they want to use this technique or not.
> One possible approach is to add some annotation and several new methods to 
> {{BinaryWriter}} and {{BinaryReader}}, which will control whether varint is 
> used or not.
> [1] https://developers.google.com/protocol-buffers/docs/encoding#varints



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to