[ 
https://issues.apache.org/jira/browse/IGNITE-16260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Puchkovskiy reassigned IGNITE-16260:
------------------------------------------

    Assignee: Roman Puchkovskiy

> User object serialization performance optimization
> --------------------------------------------------
>
>                 Key: IGNITE-16260
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16260
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Semyon Danilov
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> Currently, JDK serialization is quite faster than Ignite's user object 
> serialization (AllTypesMessage object):
>  
> {code:java}
> Benchmark                                              Mode  Cnt        Score 
>       Error  Units
> SerializationMicroBenchmark.jdk_serialization          avgt   15  1395605.836 
> ± 56061.652  ns/op
> SerializationMicroBenchmark.user_object_serialization  avgt   15  3913206.848 
> ± 78565.118  ns/op{code}
> During the profiling and benchmarking, I've managed to get these results (I 
> also benchmark against kryo), be aware of the change of time unit:
>  
>  
> {code:java}
> Benchmark                                              Mode  Cnt     Score    
>  Error  Units
> SerializationMicroBenchmark.jdk_serialization          avgt   15  1408.451 ±  
> 52.326  us/op
> SerializationMicroBenchmark.kryo_serialization         avgt   15  2052.704 ± 
> 102.327  us/op
> SerializationMicroBenchmark.user_object_serialization  avgt   15  1963.285 ±  
> 65.170  us/op {code}
> For simple objects (three primitive fields) I have following results:
> {code:java}
> Benchmark                                              Mode  Cnt    Score    
> Error  Units
> SerializationMicroBenchmark.jdk_serialization          avgt   15  948.584 ± 
> 80.484  ns/op
> SerializationMicroBenchmark.kryo_serialization         avgt   15  588.102 ± 
> 13.152  ns/op
> SerializationMicroBenchmark.user_object_serialization  avgt   15  636.171 ± 
> 66.541  ns/op {code}
> So it seems like JDK serialization is still better for complex objects, but 
> not for simple objects. And kryo is the best on simple objects.
> See the branch associated with this issue to inspect the performance tweaks
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to