崮生(子虚) 2da35e4257 perf(gsub): emitCoverage 去掉冗余的 new Set 去重
emitCoverage 原用 Array.from(new Set(newGids)).sort() 去重+排序。
但所有调用方传入的 newGids 逻辑上保证无重复:
- readCoverageRemapped 按原 coverage(规范要求 gid 唯一)升序过滤,每个原 gid 映射唯一新 gid
- entries.map(e=>e.from) 的 from 是 entry 主键(唯一)
实测 FiraCode 单次子集化 327 次 emitCoverage 调用 0 次发现重复,
new Set 去重纯属 GC 开销(Set 构造+迭代+Array.from)。

改为 newGids.slice().sort(),消除 Set 分配。sort 保留(新 gid 随原 gid 非单调,需排序)。

验证:与优化前字节逐字节一致(cmp 通过,8724==8724),
pnpx tsx 基准测试.test.ts 全部 SSIM 无回归。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 17:16:45 +08:00
..