# 性能基线

最近复测：2026-07-22。命令：

```bash
moon bench --target native --release --deny-warn
```

基准运行在当前开发机，数字用于同机回归，不用于跨硬件比较。

| 场景 | 旧 0.2 基线 | located-token/资源强化后 |
| --- | ---: | ---: |
| 冷编译 | 2.38 us | 5.61 us |
| 100 项循环热渲染 | 28.30 us | 29.97 us |
| 三级继承 + super | 1.05 us | 1.08 us |
| 200 次大 HTML 转义 | 87.71 us | 98.13 us |
| strict undefined 错误路径 | 354.47 ns | 361.82 ns |

HTML 转义相对最初 `Array[String] + join` 实现仍明显更快。新基线包含每个 token 的
UTF-8 byte span、解析深度检查、逐片 UTF-8 输出字节计量和扩展隔离判断。冷编译增加
约 3.2 us，换取确定的位置诊断；热渲染、继承和转义分别增加约 6%、3% 和 12%。
token span 使用一次线性预计算，已避免最初逐 token 重扫造成的 11.8 us 冷编译退化。

执行器使用 writer 抽象；`render_to` 可省去完整输出字符串。include、extends 和 loader
模板复用有界缓存，容量为 0 时可测量无缓存路径。

基准定义在 `src/moonjinja_bench.mbt`，覆盖冷编译、热渲染、继承、转义和错误路径。
性能改动必须先通过四后端语义测试，再比较 release native 基准。
