type y struct {b stringd int32a int8c int8}var v = y{}fmt.Println("字段a的偏移量:", unsafe.Offsetof(v.a)) // 输出:20fmt.Println("字段b的偏移量:", unsafe.Offsetof(v.b)) // 输出:0fmt.Println("字段c的偏移量:", unsafe.Offsetof(v.c)) // 输出:21fmt.Println("字段d的偏移量:", unsafe.Offsetof(v.d)) // 输出:16fmt.Println("Example的大?。?quot;, unsafe.Sizeof(v)) // 输出:24我们可以看到,通过重新排列字段的位置,使得对齐需要最小化填充 , 我们已经将结构体的大小从32减小到24,这是内存优化的巨大进步,达到了25% 。
当前的内存占用是16(b)+ 4(d)+ 1(a)+ 1(b)+ 2(填充) 。
遗憾的是,由于语言和架构的限制,我们无法进一步去除填充 。
推荐阅读
- 笔记本电脑性能分析:处理器、内存、硬盘和显卡的深度解读
- 能咋的看电脑内存,怎么查看电脑内存条加装成功没有
- 技嘉主板如何设置内存频率,技嘉b85主板怎么设置内存频率
- 古代建筑结构有哪些 古代建筑结构有哪些种类
- 如何清理抖音极速版存储空间,抖音如何清理内存减少内存空间
- sdhc卡是什么卡,闪迪内存卡后面的HC I是什么意思
- 离婚股份怎么分配
- QLORA:大模型微调的内存高效方法
- 微信内存优化:释放大量空间,提升使用体验
- 手机内存清理的正确方法:你做对了吗?
