不需要分隔符就能分割字段,减少分割符使用 采用 Varint & Zigzag 编码方式,存储空间利用率高 没有设置字段值的字段,不需要编码(存储或传输过程中数据是完全不存在的),相应字段在解码的时候才会被设置默认值
变长编码方式,用字节表示数字,值越小的数字,使用越少的字节数表示,通过减少表示数字的字节数从而进行数据压缩。
变长编码方式,使用无符号数来表示有符号数字,使得绝对值小的数字都可以采用比较少子节来表示。特别是对表示负数的数据能更好地进行数据压缩
tag 里的 Field_Number 字段是需要占用字节空间的。如果 Field_Number 大于 16, Field_Number 的编码就会占用 2 个字节, 那么 Tag 在编码时也就会占用更多的字节。
采用 sint32/ sint64 数据类型表示负数时,会优先使用 Zigzag 编码再采用 Varint 编码,更加有效的压缩数据。
Jackson 是 Java 程序中用的最多的 JSON 解析器,benchmark 中开启了 AfterBurner 的加速特性(笔者不懂 Java 不知道这是用来做什么的)
原文地址
Linux服务器开发/架构师面试题、学习资料、教学视频和学习路线图(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享有需要的可以自行添加 学习交流群
您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )
GMT+8, 2025-5-11 09:56 , Processed in 0.218496 second(s), 26 queries .
Powered by Discuz! X3.5 Licensed
© 2001-2025 Discuz! Team.