protobuf

但是protobuf不止是简单的解决单一的、不变的序列化/反序列化,他关注的重点在:
1. 确保正确。原生的方式如果纯手写,那么必须保证每个字段读写的大小、顺序都一致,而如果类一多,对人脑是个很大的负担。所以用代码生成代码的方式,减轻人脑的负担就是更好的选择。
2. 高版本兼容低版本。如果你的数据类成员不是一成不变的,而是随着业务的扩大会不断的新增,而旧有的数据不能在升级的同时立即转换为新的格式,也就是说新增了数据类成员,改变了读取逻辑之后,你的程序还有可能读取到旧的格式的数据,如何保证这种情况下逻辑依然正确,用原生的方式就会非常麻烦。而protobuf使用optional配合默认值,可以很轻松的做版本兼容。
3. 减小体积。protobuf对数字采用了Varints编码,越小的数字占用字节越少。当然这点只对网络传输有用。 

6>= int32  >=2

Ser Time+Deser Time (ns)
68747470733a2f2f63686172742e676f6f676c65617069732e636f6d2f63686172743f6368743d626873266368733d36303078333734266368643d743a323733352c343139392c333830362c363637392c363239352c343930372c353637342c353033352c383439322c353536302c373034372c31303431382c363830322c373235372c31353338312c33333239312c34323831342c37393433397c343135342c343233342c363031322c343130302c363234382c383139302c373434332c383231332c343831392c383636332c393539342c363835362c31313733382c31323437382c33313931392c35383538302c36323537302c3833383539266368636f3d3564393966392c346438396639266368646c703d7426636862683d313526636864733d302c31363332393826636878723d312c302c31363332393826636878743d792c78266368786c3d303a7c786d6c2532466578692d6d616e75616c7c6a736f6e2532466a617661782d74726565253246676c617373666973687c786d6c2532467873747265616d253242637c786d6c2532466a61636b736f6e2532466461746162696e647c6a736f6e2532466a61636b736f6e2d6a722532466461746162696e647c6a736f6e2532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c7363616c612532467362696e6172797c736d696c652532466a61636b736f6e2532466461746162696e647c63626f722532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c7468726966747c6a736f6e2d636f6c2532466a61636b736f6e2532466461746162696e647c736d696c652532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c6d73677061636b2532466461746162696e647c6a736f6e253246666173746a736f6e2532466461746162696e647c70726f746f6275667c6a736f6e25324664736c2d706c6174666f726d7c6673742d666c61742d7072657c70726f746f7374756666

Size, Compressed size [light] in bytes
68747470733a2f2f63686172742e676f6f676c65617069732e636f6d2f63686172743f6368743d626873266368733d36303078333734266368643d743a3134362c3135302c3134392c3136352c3134372c3137382c3332372c3234312c3139372c3235322c3234362c3235352c3236312c3236312c3236332c3236332c3236322c3234347c38372c38392c39302c38362c3130382c3131352c31302c39372c3135322c3130302c3135312c3231332c3232342c3232342c3232322c3232322c3232342c323433266368636f3d3564393966392c346438396639266368646c703d7426636862683d313526636864733d302c34383726636878723d312c302c34383726636878743d792c78266368786c3d303a7c786d6c2532467873747265616d253242637c6a736f6e253246666173746a736f6e2532466461746162696e647c6a736f6e2532466a736f6e2d6c69622532466461746162696e647c6a736f6e2532466a617661782d74726565253246676c617373666973687c6a736f6e2532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c6a736f6e25324664736c2d706c6174666f726d7c6a736f6e2532466a61636b736f6e2d6a722532466461746162696e647c63626f722532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c736d696c652532466a61636b736f6e25324261667465726275726e65722532466461746162696e647c7468726966747c736d696c652532466a61636b736f6e2532466461746162696e647c786d6c2532466578692d6d616e75616c7c6a736f6e2d636f6c2532466a61636b736f6e2532466461746162696e647c7363616c612532467362696e6172797c6673742d666c61742d7072657c70726f746f6275667c70726f746f73747566667c6d73677061636b2532466461746162696e64

转载于:https://my.oschina.net/maiyatang/blog/674003

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值