You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2017/05/15 15:28:04 UTC

[jira] [Comment Edited] (IGNITE-5097) BinaryMarshaller should write ints in "varint" encoding where it makes sense

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

Pavel Tupitsyn edited comment on IGNITE-5097 at 5/15/17 3:27 PM:
-----------------------------------------------------------------

[~isapego] how is it solved in Java? Do we always know collection size before hand?
.NET will have the same problem in *some* cases (lazy collections). I guess we shoud just use varlen when possible, and reserve 4 bytes otherwise.


was (Author: ptupitsyn):
[~isapego] how is it solved in Java? Do we always know collection size before hand?
.NET will have the same problem in *some* cases. I guess we shoud just use varlen when possible, and reserve 4 bytes otherwise.

> 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)