这个接口的返回体里有九成字段前端没用。我发现自己居然没法反驳。我在心里给这次的性能提升做了个预期,比较保守。这大概就是程序员的人生吧
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个接口的耗时有一半花在了它不必要做的事情上。我默默记下了这句话。我把循环里的重复计算提到了外面,接口快了十倍。幸好之前留了备份
优化的收益和它的复杂度需要一起算。我停了一下,然后继续手上的活。我发现这个接口在冷启动时特别慢,需要预热。那一刻我觉得自己还是很专业的
优化到后面会发现,最大的浪费是做了不需要的事。我想了想,觉得这话没法接。我在心里给这次的优化定了个验收标准。幸好之前留了备份
一个接口从 200ms 优化到 20ms,感觉自己是全世界最强后端。我重新看了一遍手上的计划,把风险项标了出来。我发现真正慢的是序列化那一步。第二天这个方案就变成了团队标准做法
这个缓存的存在感很强,命中率却不高。我发现自己居然没法反驳。我把这个接口的依赖调用改成了并行的,耗时砍半。从此我多了一条团队规约
性能优化最危险的是优化错了地方。我把它记在心里,没跟任何人说。我在心里给这次的优化写了个备注,还可以再挖。那一刻我觉得自己还是很专业的
这个缓存的存在感很强,命中率却不高。我盯着屏幕,觉得这才是我的一天。我在这个热点方法上加了缓存,QPS 立刻上去了。连茶水间都安静了
优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我不知道该说什么,就笑了笑。我把这个循环里的数据库查询提到了外面,耗时降了八成。真香定律准时生效
我把这个对象的创建挪到了循环外,GC 压力小了。我深呼吸了一下,决定从最可疑的地方查起。我在心里给这次的压测结果核了一遍,数据可信。幸好之前留了备份