性能比较

用可复现的数据,看看 PreCSS 在共同支持语法子集上的表现

最近一次基准结果

正在加载基准数据……

测试方法

基准分两段:合成数据集由固定 seed 的确定性规则树生成 SCSS、缩进式 SASS 和 LESS 输入;真实工程语料用 Bootstrap、Bulma、Foundation 等公开源码,逐工程与对应 oracle 归一化比对。两段都只有产物一致的结果才计入性能结论。

每种格式按口径分列展示多个实现:PreCSS CLI 与 dart-sass 原生 CLI(AOT 快照)是进程口径,每次采样含一次进程启动;PreCSS 库编译阶段、dart-sass JS 与 less.js 是进程内口径,在同一个 Node.js 进程里循环调用,不含 Node 启动。两种口径不要互相换算。

内存列写的是运行时代价:峰值 RSS 减去该实现空跑的峰值 RSS,只说明编译这批输入多花的开销,不代表哪个实现更省内存。结果受输入、版本、硬件和系统负载影响,不代表所有项目中的固定加速比。

注意:dart-sass 的 JS 口径是 sass npm 包,进程口径是原生 CLI;SASS 入口当前先转换为 SCSS 再编译。

本地复现

pnpm install
pnpm run bench:release

原始数据:benchmark.json · 基准源码