.net Protobuf网络标签号是否对性能有影响
我记得有一次读到protobuf-net使用的标签对性能有影响,但我似乎没有发现那个帖子 例如,使用ProtoInclude(1001,typeof(MyType))将不会像ProtoInclude(101,typeof(MyType))那样有效 会员也是如此 你能不能解释一下这一点,也许能给出一些最佳实践.net Protobuf网络标签号是否对性能有影响,.net,serialization,protocol-buffers,protobuf-net,.net,Serialization,Protocol Buffers,Protobuf Net,我记得有一次读到protobuf-net使用的标签对性能有影响,但我似乎没有发现那个帖子 例如,使用ProtoInclude(1001,typeof(MyType))将不会像ProtoInclude(101,typeof(MyType))那样有效 会员也是如此 你能不能解释一下这一点,也许能给出一些最佳实践 谢谢,协议缓冲区中的字段号使用“varint”编码。在“varint”中,MSB是一个连续位,因此数据的每个字节只有7位。然而,前3位是为字段类型保留的;这意味着: 4位字段号(包括字段类
谢谢,协议缓冲区中的字段号使用“varint”编码。在“varint”中,MSB是一个连续位,因此数据的每个字节只有7位。然而,前3位是为字段类型保留的;这意味着:
- 4位字段号(包括字段类型)可以存储在单个字节中
- 11位字段号可以存储在2个字节中
- 18位字段号可以存储在3个字节中
十进制101是一个7位数字;十进制1001是一个10位数字;因此,这两个字段都需要2个字节。这基本上就是这里的开销工作原理。除此之外:没关系。谢谢你,马克!这很有帮助!