Fork me on GitHub

05 2025 档案

摘要:最近一直在重构优化老系统,所以性能优化相关的文章会比较多。 这次的是有关循环处理map时的性能优化。预分配内存之类的大家都知道的就不多说了,今天来讲点大伙不知道的。 要讲的一共有三点,而且都和循环处理map有关。 不要用for-range循环清空map 这里要讨论的“清空”是指删除map中所有键值对 阅读全文
posted @ 2025-05-30 10:00 apocelipes 阅读(851) 评论(0) 推荐(3)
摘要:最近料理老项目的时候被unsafe坑惨了,这里挑一个最不易察觉的错误记录一下。 这个问题几乎影响近几年来所有的go版本,为了方便讨论我就用最新版的1.24.3做例子了。 线上BUG 我们有一个收集集群信息的线上系统,这个系统有好几个数据源而且数据量比较大。众所周知Go语言总是会在一些关键性能点上拉跨 阅读全文
posted @ 2025-05-26 10:01 apocelipes 阅读(766) 评论(0) 推荐(2)
摘要:在x86和ARM平台上,整数除法是相对较慢的操作。不巧的是除法在日常开发中使用频率并不低,而且还有一些其他常用的运算依赖于除法操作,比如取模。因此频繁的除法操作很容易成为程序的性能瓶颈,尤其是在一些数值计算程序里。 人们当然也想了很多办法优化,比如在除数是2的幂的时候,除法可以用速度更快的位运算来替 阅读全文
posted @ 2025-05-18 22:19 apocelipes 阅读(908) 评论(4) 推荐(6)