Benchmarks
In terms of benchmarks, the following metrics can be used to evaluate a serialization/deserialization process:
- Speed - how fast is the serialization/deserialization process is compared to other serializers/deserializers
- Size - how much space is needed to store the serialized data (in particular for a schema-less serializer, like FlatMessage, the size needed to store the metadata is relevant)
Additionally, the for FlatMessage
another relevant metrics are:
- Safe vs Unsafe deserialization (and their performance implications)
- Zero-copy deserialization (and its performance implications)
- FlatMessageStruct vs FlatMessagePacked for nested structures (and their performance implications in terms of speed and size)