[ 
https://issues.apache.org/jira/browse/IGNITE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16012325#comment-16012325
 ] 

Igor Sapego edited comment on IGNITE-5097 at 5/16/17 1:07 PM:
--------------------------------------------------------------

Of course, we can still write length in varint, always using 4 bytes, often 
leaving first 3 bytes to be {{0x80}}. I'm just not sure, if this makes sense. 
If you consider that collection mostly containing objects, it means that most 
collections would take pretty much memory (single object header is 24 bytes 
long). So, does 3 at most bytes really make decent traffic saving in case of 
collections?


was (Author: isapego):
Of course, we can still write length in varint, always using 4 bytes, often 
leaving first 3 bytes to be {{0x80}}. I'm just not sure, if this makes sense. 
If you consider that collection mostly containing objects, it means that most 
collections would take pretty much memory (single object header is 24 bytes 
long). So, does 3 at most bytes really make decent traffic economy in case of 
collections?

> BinaryMarshaller should write ints in "varint" encoding where it makes sense
> ----------------------------------------------------------------------------
>
>                 Key: IGNITE-5097
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5097
>             Project: Ignite
>          Issue Type: Task
>          Components: general
>    Affects Versions: 2.0
>            Reporter: Vladimir Ozerov
>            Assignee: Vyacheslav Daradur
>              Labels: important, performance
>             Fix For: 2.1
>
>
> There are a lot of places in the code where we write integers for some 
> special purposes. Quite often their value will be vary small, so that 
> applying "varint" format could save a lot of space at the cost of very low 
> additional CPU overhead. 
> Specifically:
> 1) Array/collection/map lengths
> 2) BigDecimal's (usually will save ~6 bytes)
> 3) Strings
> 4) Enum ordinals



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to