Steno benchmark report
This report is generated by deno task bench:report. Results are evidence from
one machine, not universal guarantees; compare runs made on equivalent hardware
and runtime versions.
Environment
- Generated: 2026-08-03T09:56:22.704Z
- Revision: e0ccfc0c4330
- Working tree: dirty (includes uncommitted changes)
- Runtime: Deno/2.9.4 aarch64-apple-darwin
- OS: darwin 25.5.0
- Architecture: aarch64
- Logical CPUs: 10
- System memory: 16.0 GiB
Build scenarios
| Scenario | Samples | Min | Average | p75 | p99 |
|---|---|---|---|---|---|
| build (cold, 250 pages) | 22 | 26.31 ms | 26.92 ms | 27.14 ms | 28.06 ms |
| build (cold, 1000 pages) | 13 | 105.04 ms | 107.76 ms | 108.02 ms | 120.25 ms |
| build (cold, 4000 pages) | 11 | 417.49 ms | 432.78 ms | 450.84 ms | 463.76 ms |
| build (warm, 1000 pages unchanged) | 28 | 27.32 ms | 27.99 ms | 27.99 ms | 29.53 ms |
| build (atomic incremental, 1 changed page of 1000) | 13 | 212.37 ms | 220.35 ms | 223.65 ms | 240.06 ms |
Cold scenarios delete output and persistent cache before every measured build. Warm unchanged uses an initialized 1,000-page site. Atomic incremental changes one page while retaining transactional staging and promotion. Fixture creation is outside the explicit benchmark timer.
Parser and template microbenchmarks
| Scenario | Samples | Min | Average | p75 | p99 |
|---|---|---|---|---|---|
| parseFrontmatter (body only) | 14576 | 3.17 ns | 3.43 ns | 3.46 ns | 4.29 ns |
| parseFrontmatter (yaml + 10k-word body) | 72 | 799.82 ns | 817.46 ns | 821.82 ns | 938.31 ns |
| parseFrontmatter (yaml) | 37 | 1.86 µs | 1.87 µs | 1.87 µs | 1.93 µs |
| parseFrontmatter (toml) | 26 | 3.15 µs | 3.19 µs | 3.19 µs | 3.42 µs |
| parseFrontmatter (invalid yaml fails fast) | 40030 | 10.92 µs | 12.49 µs | 12.96 µs | 14.92 µs |
| parseFrontmatter (missing closing delimiter) | 3154 | 13.86 ns | 15.90 ns | 16.37 ns | 18.04 ns |
| pipeline (typical page parse->markdown->tau) | 5327 | 82.50 µs | 94.05 µs | 94.04 µs | 123.00 µs |
| pipeline (large page parse->markdown->tau) | 1141 | 408.29 µs | 442.37 µs | 443.75 µs | 501.00 µs |
| tau render (simple) | 66 | 873.34 ns | 894.46 ns | 899.34 ns | 1.06 µs |
| tau render (components + loops) | 56188 | 7.83 µs | 8.90 µs | 8.79 µs | 13.33 µs |
| tau render (list of 1000 items) | 771 | 628.04 µs | 657.80 µs | 668.54 µs | 708.75 µs |
| tau render (4-level nested loops) | 439 | 1.10 ms | 1.16 ms | 1.17 ms | 1.39 ms |
| tau render (unclosed tag fails fast) | 70138 | 6.21 µs | 7.13 µs | 7.17 µs | 7.79 µs |
Reproduce
deno task bench:report
deno task bench:check
Run on an otherwise idle machine. The performance gate evaluates averages against committed budgets; this report additionally publishes sample count, minimum, p75, and p99 latency.