Performance Benchmarks

This page presents performance benchmarks for Panache, measuring the time taken to parse and format Quarto documents of varying sizes and complexities. The benchmarks are designed to provide insights into the efficiency of Panache’s formatting pipeline.

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 (748 bytes, 48 lines)
Iterations: 1000

Metric Avg time
Full pipeline 0.07 ms
Parse only 0.03 ms
Format only 0.03 ms
Throughput 10273.39 KB/s

Medium (Quarto tutorial)

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

Metric Avg time
Full pipeline 0.47 ms
Parse only 0.12 ms
Format only 0.29 ms
Throughput 18363.33 KB/s

Tables (table-heavy)

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

Metric Avg time
Full pipeline 1.18 ms
Parse only 0.42 ms
Format only 0.64 ms
Throughput 15611.24 KB/s

Math (computation-heavy)

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

Metric Avg time
Full pipeline 1.41 ms
Parse only 0.36 ms
Format only 0.81 ms
Throughput 19758.15 KB/s

Large (comprehensive)

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

Metric Avg time
Full pipeline 1.08 ms
Parse only 0.41 ms
Format only 0.58 ms
Throughput 26908.64 KB/s

Pandoc MANUAL (stress)

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

Metric Avg time
Full pipeline 16.43 ms
Parse only 5.55 ms
Format only 10.31 ms
Throughput 17799.78 KB/s

Reproducing

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

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