protobuf解析2-proto文件格式

本文介绍了protobuf编译器的三种优化选项:SPEED、CODE_SIZE和LITE_RUNTIME。详细阐述了每种选项的特点及应用场景,帮助开发者根据项目需求选择合适的编译配置。
选项参数
optimize_for: 它可取SPEED,CODE_SIZE,LITE_RUNTIME三者之一作为参数值,当文件中没有该选项时系统默认其值为SPEED。
上述三个选项的作用如下:
SPEEDprotobuf编译器将通过在消息类型上执行序列化、语法分析及其他通用的操作。这种代码是最优的。
CODE_SIZEprotobuf编译器将会产生最少量的类,通过共享或基于反射的代码来实现序列化、语法分析及各种其它操作。采用该方式产生的代码将比SPEED要少得多,但是操作要相对慢些。当然实现的类及其对外的API与SPEED模式都是一样的。这种方式经常用在一些包含大量的.proto文件而且并不盲目追求速度的应用中。
LITE_RUNTIMEprotobuf编译器依赖于运行时核心类库来生成代码(即采用libprotobuf-lite 替代libprotobuf)。这种核心类库由于忽略了一些描述符及反射,要比全类库小得多。这种模式经常在移动手机平台应用多一些。编译器采用该模式产生的方法实现与SPEED模式不相上下,产生的类通过实现MessageLite接口,但它仅仅是Messager接口的一个子集。
参考并致谢 1.protobuf协议语言指南 - http://blog.youkuaiyun.com/zhaozheng7758/article/details/6749047

转载于:https://www.cnblogs.com/motadou/archive/2010/12/30/1922568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值