mirror of
https://github.com/2234839/web-font.git
synced 2026-09-16 22:26:03 +08:00
原 read 先建 count 个 {platform,encoding,language,nameId,length,offset} 中间对象,
再两遍遍历它们。改为两趟直扫 view:
pass1 只读 platform/encoding/language 三字段比较定 platform(windows english 优先),
不读 nameId/length/offset、不建对象;
pass2 头开始只对匹配记录读 nameId/length/offset + readBytes + 解码,直接产出 names。
思源 56 条记录中间对象 56→0,view 读次数减半。字节 sha256 完全一致,
5 轮交替 readBuffer median 稳定 -3~-5%(对象分配本身 V8 近零成本,收益小但一致)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>