优化到后面会发现,最大的浪费是做了不需要的事。我笑了笑,决定不解释。我在心里给这次的优化算了笔账,收益大于成本。复盘会上我们把它列成了案例

懒加载加了、分包做了、CDN 上了,最后发现慢的是用户那个 2G 信号。我忽然觉得,这可能就是这一行的常态。我把这个对象的复用池加上了,创建开销降了很多。从此我多了一条团队规约

程序员的成就感来源排名:代码上线、性能优化、帮同事修好了打印机。我把这个接口的统计维度加上了,瓶颈终于可视化。果然现实比段子更精彩

我把这个循环里的查询提到了外面,效果好得意外。我先给自己泡了杯茶,做好了打持久战的准备。我把循环里的重复计算提到了外面,接口快了十倍。同事说这波操作可以写进新人培训教材

这个服务的响应时间随并发上升得很快。我愣了两秒,然后继续敲代码。我在压测环境复现了问题,本地怎么压都压不出来。这条经验值直接拉满

所谓性能优化,就是在不重写代码的前提下假装自己在重写代码。我默默记下了这句话。我发现这个批任务的瓶颈在单机磁盘 IO。我沉默了,但心里是服的

这个接口的返回体里有九成字段前端没用。我发现自己居然没法反驳。我把这个序列化的方式换成了更快的,耗时降了一半。真香定律准时生效

我把这个对象的创建挪到了循环外,GC 压力小了。我先确认了一遍前置条件,再动手。我把这个页面的资源做了懒加载,首屏快了很多。我把它写进了组内的避坑文档第一章

用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我决定先把手上的事情做完再处理这件事。我在心里给这次的优化写了个备注,还可以再挖。这条经验值直接拉满

这个索引让查询快了十倍,写入慢了一点。我打了火焰图,一眼看到了那个占八成耗时的函数。我把它写进了组内的避坑文档第一章