请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于内存对齐

老师你好,之前了解到go语言结构体中相同类型的字段紧挨着存放能起到内存对齐的效果,例如:

type user struct {
	id  int
	age int
	name string 
	address string
}

现在看到proto文件的消息体定义,我就想到这个问题,就是proto文件的消息体中相同类型的字段紧挨着存放有没有内存对齐的效果?

正在回答 回答被采纳积分+3

1回答

Cap 2023-04-01 10:47:24

在 Protocol Buffers中,这个原则并不适用。原因在于 protobuf 使用不同的方式来表示和存储数据。protobuf 使用一种紧凑的二进制格式,它基于字段的标签编号(tag number)来序列化和反序列化数据。对于 protobuf 来说,字段的顺序并不影响内存对齐。事实上,protobuf 的设计目标之一就是使数据尽可能地紧凑,以便在网络传输中节省带宽。


1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信