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 2016/11/30 13:32:58 UTC

[jira] [Updated] (IGNITE-1421) .NET: Optimize writes of ultra-dense structures

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

Pavel Tupitsyn updated IGNITE-1421:
-----------------------------------
    Issue Type: Improvement  (was: Task)

> .NET: Optimize writes of ultra-dense structures
> -----------------------------------------------
>
>                 Key: IGNITE-1421
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1421
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>    Affects Versions: 1.1.4
>            Reporter: Vladimir Ozerov
>              Labels: .net
>             Fix For: 2.0
>
>
> There is a case when we can dramatically increase marshal/unmarshal performance:
> 1) Type is a structure;
> 2) It contains only integer/float/double primitive types with well-defined;
> memory layout which is consistent with our serialization protocol;
> 3) We are sure that there are no gaps in it's memory layout.
> 4) User writes it as "marshal-aware" and fields write order is consistent with memory layout.
> In this case we can copy the whole structure into our stream with a single memcpy() operation. And we can read it from the stream as easy as [pointer dereference + position shift] (provided that target is on the stack).
> We should also disable handles for structs, since it does not make sense.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)