记录一次golang代码优化实战
之前从来没搞过golang的代码优化,机缘巧合,有个golang的开源项目有性能优化的需要。于是就拿来试试看golang代码的优化了。
步骤一
使用benchmark与pprof, 进行性能测试
go test -cpuprofile cpu.prof -memprofile mem.prof -bench . --count=5
pprof -http=":8091" ./cpu.prof
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210107140212743.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29lMTAxOQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210107140230283.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29lMTAxOQ==,size_16,color_FFFFFF,t_70)
步骤二
观察代码,很多地方可以明确使用uint32
却为定义变量类型。还有一些重复代码如
tmp = x+y
b += a
a = ...
b+=a
tmp = x