3 ms·
Being able to quickly replace or append a field without re-serializing the entire struct can be useful, but the overhead for it is pretty substantial (an extra
by erik_seaberg 5y ago
Being able to quickly replace or append a field without re-serializing the entire struct can be useful, but the overhead for it is pretty substantial (an extra u32 for every field, plus 1/4 of another u32 for next vtable in the list). Every u32 always consumes four (unaligned?) bytes. I think “far more space efficient” than Avro is pretty unlikely.
I hope he’s also looking at ASN.1 PER for more “don’t write anything the reader already knows” ideas in the vein of Avro.
Without OIDs or UUIDs for versions of types, most of these formats seem equally prone to treating invalid messages as unpredictable gibberish or erroring out on an invalid size or offset.