panache 2.42.0

An LSP, formatter, and linter for Markdown, Quarto, and R Markdown
---
title: "Performance Benchmarks"
description: "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

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

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