mirror of
https://github.com/2234839/web-font.git
synced 2026-09-13 04:15:42 +08:00
ChainSubRule 解析原先读 backtrack/input/lookahead 到 3 个 number[] 再两遍遍历 (先 inSubset 校验再 contextGids.add),format1 每 rule 分配 3 数组 (FiraCode 424 次/call × 3 = 1272 次数组分配 + GC 压力)。 改为两遍扫描同一段字节,不分配中间数组: - 第一遍仅 inSubset 校验全部 gid(遇子集外即 return,放弃规则) - 通过校验后再第二遍收集 context gid + 读 subst records reachable 输出字节级一致(FiraCode 132 / 初夏 63 均通过 cmp), FiraCode reach 0.368→0.343ms(-6.8%),30 项基准 SSIM 零变化。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>