gpt4 book ai didi

c++ - ByteSize() 方法的复杂性

转载 作者:行者123 更新时间:2023-11-30 02:25:40 29 4
gpt4 key购买 nike

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

最佳答案

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

SpaceUsed() is noticeably slower than ByteSize(), as it is implemented using reflection (rather than the generated code implementation for ByteSize()). Like ByteSize(), its CPU time is linear in the number of fields defined for the proto.

ByteSizeLong() is generally linear in the number of fields defined for the proto.

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

int ByteSize() const

Legacy ByteSize() API.

所以它似乎建议您应该使用其他之一。

关于c++ - ByteSize() 方法的复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994264/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com