首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ByteSize()方法的复杂性

ByteSize()方法的复杂性
EN

Stack Overflow用户
提问于 2017-05-16 06:47:08
回答 1查看 1.3K关注 0票数 2

ByteSize()用于c++协议缓冲区的方法有多复杂?换句话说,是在设置参数时计算并存储在内部协议缓冲区中的大小,或者是在调用ByteSize()时完成的计算。如果是后者,对于大型协议缓冲区对象来说,这可能相当昂贵,对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 06:53:28

答案似乎是从其他函数的文档中得到的:https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message

SpaceUsed()明显比ByteSize()慢,因为它是使用反射(而不是为ByteSize()生成的代码实现)实现的。与ByteSize(),类似,它的CPU时间与为定义的字段数成线性关系。

ByteSizeLong()通常在为proto定义的字段数中是线性的。

不过,我并没有看到对ByteSize()本身的复杂性的描述,只是如下所示:

int ByteSize() const 遗留的ByteSize() API。

所以这似乎意味着你应该使用其他的一个。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43994264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档