性能比较
用可复现的数据,看看 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 · 基准源码