[
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)