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

Vladimir Ozerov commented on IGNITE-1917:
-----------------------------------------

Further work on write performance. Major changes are:
1) Removed schema hash re-calc for Serializable types.
2) Removed boundaries checks where possible.
3) Optimized handles management in the most common case - when there are no 
nested objects.

Results are very good:

Case A: Serializable object with 40 int fields
Optimized:        2,1 M/sec
Portable, before: 0,8 M/sec
Portable, after:  2,3 M/sec

Case B: Externalizable/Binarizable object with 4 fields, two ints and two 
strings
Optimized:        2,9 M/sec
Portable, before: 2,6 M/sec
Portable, after:  3,1 M/sec

In both cases we outperform OptimizedMarshaller. Even though in case A it 
produces 167 bytes vs 264 for PortableMarshaller.

Honestly, I haven't expected we will be able to outperform OptimizedMarshaller. 
The most critical gain was form removed boundaries checks. Probably the same 
technique could be applied to other marshalling logic, especially "direct 
marshallable".

> Portables: micro optimizations.
> -------------------------------
>
>                 Key: IGNITE-1917
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1917
>             Project: Ignite
>          Issue Type: Task
>          Components: general, interop
>    Affects Versions: ignite-1.4
>            Reporter: Vladimir Ozerov
>            Assignee: Vladimir Ozerov
>            Priority: Critical
>             Fix For: 1.5
>
>




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

Reply via email to