排查 zsh 启动慢时,修复了 NVM 加载(从 0.9s 优化到预期的 0.3s),结果启动时间反而飙到 3.4s。
原因:.zshrc 中有一行 source <(openclaw completion --shell zsh),openclaw 是通过 nvm 安装的 Node.js CLI。修复前 nvm 未加载时 node 不在 PATH 中,这行命令快速失败(command not found),反而”掩盖”了它 2.8 秒的真实执行时间。NVM 懒加载把 node bin 直接加到 PATH 后,openclaw 变得可用,这行命令开始真正执行了。
修复前: nvm 慢(0.45s) + openclaw 快速失败(0s) = 0.9s
修复后: nvm 懒加载(0s) + openclaw 执行(2.8s) = 3.4s ← 更慢了!
最终: nvm 懒加载(0s) + openclaw 缓存(0s) = 0.3s ✓
教训:性能优化时,用 zprof 或 time 在每一步修改后都要重新测量,不要假设效果会线性叠加。