打包体积优化了一整天,首屏加载还是慢得像老牛拉车。我把整条链路在心里复盘了一遍。我把 N+1 查询合并成了一次批量查询。连茶水间都安静了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
把 200 毫秒的接口优化到 20 毫秒,第二天产品加了个新功能,又变回 200 毫秒。我听完沉默了,因为太真实了。我发现这个服务的 CPU 大部分花在序列化上。我把这条经验写进了团队 wiki
我把这个批处理的批次调大了,整体耗时降了四成。我把手上的资料翻出来又读了两遍。我打了火焰图,一眼看到了那个占八成耗时的函数。连茶水间都安静了
所谓性能优化,就是在不重写代码的前提下假装自己在重写代码。我想了想自己这些年,好像确实如此。我把这个服务的线程池参数调了调,吞吐稳定了。第二天这个方案就变成了团队标准做法
我把这个对象的创建挪到了循环外,GC 压力小了。我在心里把涉及的所有环节都过了一遍。我发现真正慢的是序列化那一步
我把这个批处理的批次调大了,整体耗时降了四成。我打开记录从头到尾扫了一遍。我把这个接口的连接复用打开了,握手开销几乎没了。果然现实比段子更精彩
优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我笑了笑,决定不解释。我在心里给这次的优化写了个备注,还可以再挖。世界瞬间清净了
性能的瓶颈通常不在你以为的地方。我忽然觉得,这可能就是这一行的常态。我在心里给这次的优化写了个备注,还可以再挖。同事说这波操作可以写进新人培训教材
性能问题的根因往往是架构而非代码。我想反驳,但发现他说得对。我把这个接口的连接复用打开了,握手开销几乎没了。从此我多了一条团队规约
我把这个页面的图片做了压缩,首屏快了很多。我把这个列表的分页做成了游标,深翻页终于不慢了。办公室安静得能听见键盘声