Performance Benchmarks

panache performance metrics on real-world documents

Benchmark Suite

Benchmarks are run on real Quarto documents to measure realistic performance.

Methodology

  • Measures three phases: full pipeline (parse+format), parse only, format only
  • Reports average time per iteration and throughput (KB/s)
  • Source of truth: benches/benchmark_results.json (schema version 1)

Results

Small (synthetic)

Document: small.qmd (756 bytes, 48 lines)
Iterations: 1000

Metric Avg time
Full pipeline 0.09 ms
Parse only 0.05 ms
Format only 0.04 ms
Throughput 7798.64 KB/s

Medium (Quarto tutorial)

Document: medium_quarto.qmd (8893 bytes, 146 lines)
Iterations: 100

Metric Avg time
Full pipeline 0.62 ms
Parse only 0.25 ms
Format only 0.29 ms
Throughput 13941.04 KB/s

Tables (table-heavy)

Document: tables.qmd (18833 bytes, 636 lines)
Iterations: 50

Metric Avg time
Full pipeline 1.43 ms
Parse only 0.70 ms
Format only 0.60 ms
Throughput 12893.36 KB/s

Math (computation-heavy)

Document: math.qmd (28562 bytes, 664 lines)
Iterations: 50

Metric Avg time
Full pipeline 1.46 ms
Parse only 0.60 ms
Format only 0.70 ms
Throughput 19156.73 KB/s

Large (comprehensive)

Document: large_authoring.qmd (29858 bytes, 592 lines)
Iterations: 20

Metric Avg time
Full pipeline 1.30 ms
Parse only 0.65 ms
Format only 0.56 ms
Throughput 22405.26 KB/s

Pandoc MANUAL (stress)

Document: pandoc_manual.md (299536 bytes, 8036 lines)
Iterations: 3

Metric Avg time
Full pipeline 20.05 ms
Parse only 9.99 ms
Format only 10.23 ms
Throughput 14589.79 KB/s

Reproducing

# Download test documents
cd benches/documents && ./download.sh

# Generate JSON + docs page
./benches/generate_docs.sh