Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ByteSize()方法的复杂性 < C++协议缓冲区的方法>代码> ByTeSeIe()/的复杂性是什么?换句话说,是在我设置参数时计算的大小,并在内部存储在协议缓冲区中,还是在我调用ByteSize()时完成计算。如果是后者,那么对于大型协议缓冲区对象来说,这可能会非常昂贵,对吗?_C++_Protocol Buffers - Fatal编程技术网

ByteSize()方法的复杂性 < C++协议缓冲区的方法>代码> ByTeSeIe()/的复杂性是什么?换句话说,是在我设置参数时计算的大小,并在内部存储在协议缓冲区中,还是在我调用ByteSize()时完成计算。如果是后者,那么对于大型协议缓冲区对象来说,这可能会非常昂贵,对吗?

ByteSize()方法的复杂性 < C++协议缓冲区的方法>代码> ByTeSeIe()/的复杂性是什么?换句话说,是在我设置参数时计算的大小,并在内部存储在协议缓冲区中,还是在我调用ByteSize()时完成计算。如果是后者,那么对于大型协议缓冲区对象来说,这可能会非常昂贵,对吗?,c++,protocol-buffers,C++,Protocol Buffers,其他函数的文档似乎暗示了答案: SpaceUsed()明显比ByteSize()慢,因为它是使用反射实现的(而不是为ByteSize()生成的代码实现)与ByteSize()类似,它的CPU时间与为proto定义的字段数成线性关系 及 ByteSizeLong()在为proto定义的字段数量上通常是线性的 实际上,我没有看到关于ByteSize()本身复杂性的描述,只是这样: int ByteSize()常量 遗留ByteSize()API 因此,它似乎建议您应该使用其中一种

其他函数的文档似乎暗示了答案:

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

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

实际上,我没有看到关于
ByteSize()
本身复杂性的描述,只是这样:

int ByteSize()常量

遗留
ByteSize()
API

因此,它似乎建议您应该使用其中一种