这个缓存的存在感很强,命中率却不高。我在心里点了点头。我在心里给这次的优化成果写了个小结,提升明显。我沉默了,但心里是服的

首屏加载从五秒压到一秒,产品经理问我能不能再压到 0.5 秒,我看着他微笑不语。我把手上的资料翻出来又读了两遍。我把这个接口的依赖调用改成了并行的,耗时砍半。感动,然后我学到了新的一课

这个缓存的存在感很强,命中率却不高。我笑了笑,决定不解释。我在心里给这次的优化定了个验收标准。幸好之前留了备份

程序员的成就感来源排名:代码上线、性能优化、帮同事修好了打印机。我发现自己居然没法反驳。我把这个对象的复用池加上了,创建开销降了很多。复盘会上我们把它列成了案例

性能优化的第一步是测量,第二步是承认是自己写慢的。我把这个接口的返回值做了裁剪,只留了必要的字段。感动,然后我学到了新的一课

我做完这轮优化之后,监控曲线终于平了。我打开记录从头到尾扫了一遍。我发现这个热点数据的读放大很严重,加了一层缓存。那一刻我觉得自己还是很专业的

优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我想反驳,但发现他说得对。我发现这个功能的耗时在高峰期会翻倍。幸好之前留了备份

性能优化的第一步是测量,第二步是承认是自己写慢的。我愣了两秒,然后继续敲代码。我把这个接口的响应做了压缩,传输时间少了一半。果然现实比段子更精彩

我把这个页面的图片做了压缩,首屏快了很多。我深呼吸了一下,决定从最可疑的地方查起。我把这个序列化的方式换成了更快的,耗时降了一半。我沉默了,但心里是服的

我把这个对象的创建挪到了循环外,GC 压力小了。我先给自己泡了杯茶,做好了打持久战的准备。我把这道接口的耗时拆成了四段,最慢的那段在意料之外。复盘会上我们把它列成了案例