# 可复现的性能观察

运行 `node scripts/build.mjs` 和 `node scripts/benchmark.mjs`，结果写入被忽略的 `artifacts/benchmark.json`。需要 Node.js 22 或更高版本，不联网。

2026-10-19 本机 Windows x64 / Node 24.19.0 / MoonBit 0.10.16 release JS 引擎的观测值如下。每个规模预热 3 次、测量 10 次，包含策略和记录解析、完整校验、状态回放和 JSON 序列化；不包含构建、文件读取或 JSON 输出的宿主再次解析。

| 事件数 | 输入字节 | 中位数 | 10 次样本最大值 |
| --- | --- | --- | --- |
| 100 | 13040 | 1.98 ms | 4.00 ms |
| 1000 | 135439 | 9.06 ms | 12.13 ms |
| 5000 | 699438 | 38.06 ms | 47.83 ms |
| 10000 | 1404438 | 73.98 ms | 80.38 ms |

工作负载：单会话 artifact 长链、4 条规则，第一条产生 secret 标签，最后一条网络调用应被拒绝，来源必须为 e0。脚本逐次校验调用数、拒绝数和来源，不只测一个不检查结果的循环。

这不是第三方评测或吞吐保证。测试仅覆盖一种合成形状；多分支 provenance、许多会话、多规则、长 glob、不同后端与机器都会改变结果。窗口算法和规则检查的复杂度说明见 ARCHITECTURE。未与其他库作未控制条件的速度对比。
