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)

Reply via email to