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/05/13 15:20:12 UTC

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

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

Pavel Tupitsyn commented on IGNITE-1421:
----------------------------------------

See __makeref feature to copy generic structs.

> .Net: Optimize writes of ultra-dense structures.
> ------------------------------------------------
>
>                 Key: IGNITE-1421
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1421
>             Project: Ignite
>          Issue Type: Task
>          Components: platforms
>    Affects Versions: 1.1.4
>            Reporter: Vladimir Ozerov
>            Assignee: Pavel Tupitsyn
>             Fix For: 1.7
>
>
> 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)