性能优化建议
简介
- 性能优化的前提是满足正确可靠、简洁清晰等质量因素
- 性能优化是综合评估,有时候时间效率和空间效率可能对立
- 针对Go语言特性,介绍Go相关的性能优化建议
性能优化建议 - Benchmark
如何使用
- 性能表现需要实际数据衡量
- Go语言提供了支持基准性能测试的benchmark工具
性能优化建议 - Slice
slice与分配内存
- 尽可能在使用make()初始化切片时提供容量信息
性能优化建议-Map
map预分配内存
- 不断向map中添加元素的操作会被触发map的扩容
- 提前分配好内存可以减少内存拷贝和Rehash的消耗
- 建议根据实际需求提前预估好需要的空间
性能优化建议-字符串处理
使用string.Builder
- 常见的字符串拼接方式
性能优化建议-空结构体
性能优化建议 - atomic包
小结
- 避免常见的性能陷阱可以保证大部分程序的性能
- 普通应用代码,不要一味地追求程序的性能
- 越高级的性能优化手段越容易出现问题
- 在满足正确可靠、简洁清晰的质量要求的前提下提高程序性能