incr.comp.: Don't encode Fingerprint values with leb128. (original) (raw)
Since Fingerprint values have roughly random distribution, most of them will not profit from being stored in a variable-length encoding:
- encoding to leb128 takes additional time, and
- in the common case, the leb128 representation of the two 64 bit numbers in a
Fingerprintwill take up around 160 bits, so we are even wasting space.
We should not do that. UseSpecializedEncodable and UseSpecializedDecodable might be the way to circumvent the standard encoding methods of the opaque::Encoder.