Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. JdkMarshaller - current version RU does not support work with different Java versions. TODO: hide jdkMarshaller?
  2. BinaryMarshaller - backward compatibility is guaranteed. Require API for getting marshaller for specific version.


Protobuf

https://protobuf.dev/programming-guides/encoding/

  1. Field numbers are serialized with data:
    1. Do not send null fields, ignore unknown fields.
    2. Order of fields isn't guaranteed: message can be concatenations of same fields in different order. For optimizations (compression)?
    3. Make possible easily change schema (but user must preserve field ids).
    4. Serializer must know len of varlen fields (Messages). 
  2. It allows deserialize only required fields using CodedInputStream. It requires writing a code for iterating over tags and skipping fields.

Avro

Bson