Alex Abashev created IGNITE-28473:
-------------------------------------

             Summary: Concurrent message serialization in NIO workers causes 
performance degradation
                 Key: IGNITE-28473
                 URL: https://issues.apache.org/jira/browse/IGNITE-28473
             Project: Ignite
          Issue Type: Task
            Reporter: Alex Abashev
            Assignee: Alex Abashev


Code-generated serialization mechanism uses the same buffer size checks on 
every field write just like the previous serialization mechanism.

Right now fields of a message are written to the output stream in the same 
order they are declared in the message class. That's why message serializer has 
to perform buffer size checks for each individual field as it doesn't have any 
information about the size of the next field.

But if one reorders the fields so that all fields of the same primitive type 
are written in one batch, it is possible to perform buffer size check only 
once. If number of fields and their type is known, serializer could ensure the 
space in the buffer in one check. This would allow to save some CPU cycles.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to