Compare the usage, performance and data sizes of several Java Serialization frameworks.
Binary
- JVM native solution
- MicroStream Serializer
- Kryo
- CBOR (implemented by Jackson CBOR dataformat)
- Hessian
JSON
- Jackson
- GSON
XML
- JAXB
YAML
- snakeYAML
SQL and NoSql
- Hibernate (Only scenario 1)
- Redis
Schema based
- Protobuf
The performance is measured through the Java Microbenchmark Harness JMH library.
In each module, you can find a class containing PerformanceRun in it that executes the performance test for a certain scenario.
The following scenarios are tested
- Scenario1: 1 single List with a large number of objects.
- Scenario2: Serialize and deserialize many small objects
- Scenario3: Object graph with Circular dependency
See confluence page https://microstream.atlassian.net/wiki/spaces/MSG/pages/1958674451/Serializer
Compare with specialized serializers like
- Avro