我优化性能的那几天,其实在优化自己的情绪

那几天我盯着一个冷启动数字,从 380ms 改到 310ms,再改到 260ms。
后来我看清了:我不是在追求快,我是在用”能测的数字”来压住”测不到的不安”。

一、可测的东西会变成镇静剂

x-notepad 冷启动那阵子,我每天打开一个秒表。

改依赖加载顺序,快 20ms;把首屏那个重组件延后,又省 30ms;字体预加载去掉一次往返,再省十几毫秒。每省一点,心里就稳一点。

问题在于,同一时间真正让我不安的事,一件都没解决:

  • 编辑器换来换去,我还没确认 CM6 是不是终局
  • 插件走 WASM 之后,安装体验比以前麻烦,用户会不会因此不装
  • 两个笔记应用功能重叠,我不知道该往哪个押注

这三件事都没有数字可测。而冷启动有毫秒,有对比,有”变好了”的即时反馈。于是我一遍遍回去改启动速度——因为那是我唯一能确定自己在进步的地方。

二、一个只有我自己在意的指标

回头看,260ms 这个数字对我的实际体验几乎没有意义。打开软件,260ms 和 380ms 的差别,人是感知不到”快”,只能感知”不慢”。而我为这 120ms 花了大概三天。

真正值得花时间的是别的事:第一次打开时,界面会不会空着等半秒;大文件打开时滚动会不会顿;搜索是不是打完字就出结果。这些才是用户能感觉到的部分,而它们都不在我那个秒表里。

我不是在测性能,我是在测”我还能不能控制点什么”。

三、这种心态的其他出口

想清楚这一点之后,我开始能认出同一套心理的其他变体:

  • 反复调整 CSS 的圆角与间距,改了又改,因为视觉上”感觉差一点”——但差的那一点说不出来
  • 给项目补齐 README、LICENSE、CONTRIBUTING、CI 徽章,文档比功能完善得多,因为整理这件事有明确的完成态
  • 在一个已经能用的构建脚本上继续抽象,抽出三层配置,因为”更干净”是可以判定的

这些事本身都不坏,甚至可以说是好习惯。但它们的共性是:成本可控,收益可测,风险为零。而真正决定项目成败的那些事,恰恰全都不可测、有风险、可能白做。

懒惰不会让我做这些事,焦虑才会。

四、我现在怎么打断这个循环

给自己定了一条粗糙的规矩:当一个动作的预期收益小于 10%,而我已经做了超过两小时,就停下来问一句「我是在解决它,还是在躲另一件事」。

这句话问出来的时候,答案通常很难看。但至少能把我从秒表里拽出来,回到那个真正卡住的地方——那个没有数字、没有对比、也没有人告诉我该选哪条的地方。

于是我又开始做那些更难受的决定了:哪个功能该砍、哪个方向该停、哪个项目该让它就这样放着。这些事做完之后不会有任何数值变绿,脑子里也不会有”我又优化了 20ms”的清脆感觉。

只有一种很闷的踏实。

五、关于”感觉差一点”

我还是会为了一个间距改十遍。我不打算戒掉这个习惯,它是手艺的一部分。

但我现在会先问一句:这个”差一点”,是因为用户会感觉到,还是因为我不安心?

前者该改,后者改不完。