Vladimir Ozerov created IGNITE-1422:
---------------------------------------

             Summary: .Net: Marshalling can be optimized for fixed-length 
objects.
                 Key: IGNITE-1422
                 URL: https://issues.apache.org/jira/browse/IGNITE-1422
             Project: Ignite
          Issue Type: Task
          Components: interop
    Affects Versions: 1.1.4
            Reporter: Vladimir Ozerov
             Fix For: ignite-1.5


Sometimes we can guess user object length in advance:
1) Strict rule: it is "reflective" and contains only fixed-length fields.
2) Speculative rule: It is "marshal aware", contains only fixed-length fields 
and there is only one metadata "path".

In these cases we can do the following:
1) No tracking of length and raw offset.
2) Header can be written as one memcpy() rather than as multiple int/byte/bool 
writes.

We need to have a fallback strategy for a cases when new metadata path appears 
or user write raw data. It is very easy: if expected and actual lengths differ 
at the end, set proper values.



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

Reply via email to