我想知道编组一个结构和编组一个结构在mem效率方面是否有什么显着的区别。
例如:假设我们有一个带有一些字段的结构B。
message B{...}常见的表示法:
message A {
B b = 1;
}另一种方式:
message A {
bytes b = 1;
}其中b是编组的B结构。
一般来说,这是一个好的实践吗?是否有效率方面的影响?
谢谢,Elad
发布于 2018-11-13 17:25:39
在有效负载级别,它们是相同的-但是,就实现如何对待它们而言,可能存在差异。最明显的区别是,在对bytes进行进一步反序列化之前,您不能使用它;这有利弊:
所以:是的,它会有不同的特征。它们是否有利(或相反)取决于您是否还需要在bytes有效负载上执行额外的反序列化步骤
发布于 2018-11-13 18:03:42
我认为声明bytes字段而不是在proto文件中指定的结构是一种糟糕的做法。
这被称为规范漏洞:您必须编写额外的文档来描述接收方必须如何理解字节
https://stackoverflow.com/questions/53277563
复制相似问题