426 - 《Umi Cli 提速》

发布于 2024年3月25日

背景是虽然我们内部已切换到 Mako 做构建,但上层框架 Bigfish/Umi 有大量的 Node 逻辑依旧比较慢,对于开发者来说,体感提升并没有很强烈,所以需要排查下 Umi Cli 的卡点问题并做出改进。

记录下我的排查步骤。

1、找典型项目。

需要多找几个,我找了 5 个,包含脚手架项目、大型和中型项目等。不同类型的项目会暴露出不同的卡点问题。

2、跑 benchmark 记录数据。

找个现状的数据,记录下来,方便修改后知道有多少提升。我是用 hyperfine 跑 setup 命令。umi 的 setup 命令剔除了 build,用来做非 build 性能验证非常合适。

$ hyperfine -w 1 --runs 10 './node_modules/path/to/bin/bigfish.js setup'
  Time (mean ± σ):     10.647 s ±  0.318 s    [User: 9.415 s, System: 1.838 s]
  Range (min … max):   10.509 s … 11.549 s    10 runs

3、跑 node --cpu-prof + speedscope 。

方法在 424 - 《Node 性能优化(2)》 里有过说明,就不重复了,跑完传到 https://www.

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。