golang代码级调优方法
基本优化
提前预估size, make之临时的map,slice,可采用sync.pool.大于32kb,也可以使用sync.pool
不要滥用time.After, 多用事件通知
不要滥用goroutime, 减少gc压力
不要滥用锁,引起runtime上下文切换
使用unsafe进行转换类型,不要总是[]byte,string转换
减少使用reflect反射使用
减少不必要的defer调用
使用atomic实现无锁逻辑
业务调优
减少网络io的消耗:批量接口、缩减网络调用链
缓存内存化、减少同步逻辑、使用压缩,节省带宽。
有疑问加站长微信联系(非本文作者)