# Go 性能与分配行为检查清单

## 算法与热路径

- 热路径是否引入不必要的高复杂度操作（排序、全量扫描、重复解析）。
- 循环内是否存在可外提计算或重复字符串拼接。
- 批处理场景是否避免逐条远程调用导致放大延迟。

## 内存分配与对象生命周期

- 是否在高频路径产生可避免分配（临时切片、map 扩容、字符串转换）。
- 切片预分配是否合理（`make(..., 0, n)`），避免频繁扩容复制。
- 大对象是否长期持有导致 GC 压力上升，是否需要缩短引用链。

## 并发性能

- 锁竞争是否可能成为瓶颈，是否存在读多写少但未使用 `RWMutex` 的场景。
- goroutine 数量是否受控，是否可能在高负载下无上限增长。
- channel 缓冲大小是否与吞吐需求匹配，避免抖动或阻塞放大。

## I/O 与外部系统

- 数据库访问是否存在 N+1 查询、缺失索引或重复拉取。
- 网络调用是否设置超时与连接复用，避免资源耗尽。
- 序列化/反序列化是否在必要范围内执行，避免冗余编码开销。
