关于内存对齐
来源:10-9 中间件 proto 文件开发

慕瓜9063200
2023-03-28
老师你好,之前了解到go语言结构体中相同类型的字段紧挨着存放能起到内存对齐的效果,例如:
type user struct {
id int
age int
name string
address string
}
现在看到proto文件的消息体定义,我就想到这个问题,就是proto文件的消息体中相同类型的字段紧挨着存放有没有内存对齐的效果?
写回答
1回答
-
Cap
2023-04-01
在 Protocol Buffers中,这个原则并不适用。原因在于 protobuf 使用不同的方式来表示和存储数据。protobuf 使用一种紧凑的二进制格式,它基于字段的标签编号(tag number)来序列化和反序列化数据。对于 protobuf 来说,字段的顺序并不影响内存对齐。事实上,protobuf 的设计目标之一就是使数据尽可能地紧凑,以便在网络传输中节省带宽。
10
相似问题