You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2015/09/11 15:53:45 UTC

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

Vladimir Ozerov created IGNITE-1421:
---------------------------------------

             Summary: .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: interop
    Affects Versions: 1.1.4
            Reporter: Vladimir Ozerov
             Fix For: ignite-1.5


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





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