Steno

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.

Type to search guides, configuration, Tau, plugins, and API references.