专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
今天看啥  ›  专栏  ›  SegmentFault思否

社区精选|面试官:请说一下如何优化结构体性能?

SegmentFault思否  · 公众号  · 程序员  · 2023-03-18 12:11
今天小编为大家带来的是社区作者 王中阳Go 的文章,让我们一起来学习优化结构体性能。作者之前分享过 2 篇结构体文章:10 秒改 struct 性能直接提升15%,产品姐姐都夸我好棒 和 Go 语言空结构体这3种妙用,你知道吗? 得到了大家的好评。这篇继续分享进阶内容:结构体的定义,大家都很熟悉,想要定义出更节省内存空间的结构体,可不是一件简单的事。我们必须掌握 Go 的结构体内存对齐机制,才能做出相应的优化:节省内存并提高性能。下面定义两个结构体,字段都一样,只是部分字段稍微调整了一下顺序。但输出的结果却完全不同:一个顺序调整就节省了 8 个字节,太神奇了。type BadSt struct {  A int32  B int64  C bool}type GoodSt struct {  A int32  C bool  B int64}func main() {  bad := BadSt{A: 10, B: 20, C: false}  fmt.Println(unsafe.Sizeof(bad))//输 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照