Daily Study
更新: 1/9/2026 字数: 0 字 时长: 0 分钟
Daily Plan
#todo
- [ ]
代码规范(如何减少内存碎片)
少申请、批量申请、复用内存、连续存储
数据结构选择:
- 尽量使用数组,内存物理连续,申请和释放都是整块,例如用
[]struct而不是[]*struct - 预分配内存:指定切片大小,而不是不断的
append
内存分配策略:
- 对象池:
sync.pool,对Context对象或Buffer进行复用 Arena Allocation(区域分配):一次性向系统申请一大块内存(比如一个Page大小),成为Arena,然后在Arena分配小对象时,只需要移动指针,请求结束时,释放整个Arena
内存对齐:优化结构体字段顺序,按照字段类型宽度从大到小定义结构体
其他:
- 减少指针逃逸:少返回指针,多返回指,对于小对象,直接传值。
- 处理切片的幽灵引用
