Performance

Performance benchmarks and comparisons

Overview

panache is designed for speed without compromising on correctness. Built in Rust and compiled to native code, it delivers fast formatting with zero startup overhead.

Benchmark Results

Benchmarks compare panache against popular markdown formatters on real Quarto documents.

Note

Test Environment - CPU: Modern x86_64 processor - panache: v2.7.0 (Rust, native binary) - Prettier: v3.6.2 (Node.js) - Pandoc: v3.7.0.2 (Haskell, native binary) - Documents: Real Quarto files from quarto-dev/quarto-web

Small Document (747 bytes)

Formatter Time (ms) vs panache
panache 4.1 baseline
Prettier 71.8 17.7x slower
Pandoc 10.0 2.5x slower

Medium Document (9 KB)

Formatter Time (ms) vs panache
panache 8.7 baseline
Prettier 105.0 12.1x slower
Pandoc 32.5 3.8x slower

Tables Document (19 KB)

Formatter Time (ms) vs panache
panache 8.5 baseline
Prettier 131.5 15.5x slower
Pandoc 60.0 7.1x slower

Math Document (29 KB)

Formatter Time (ms) vs panache
panache 8.7 baseline
Prettier 143.7 16.4x slower
Pandoc 48.1 5.5x slower

Large Document (30 KB)

Formatter Time (ms) vs panache
panache 5.8 baseline
Prettier 133.9 23.0x slower
Pandoc 56.6 9.7x slower

Key Takeaways

🚀 Faster Than Alternatives

  • 12-23x faster than Prettier - Zero Node.js startup overhead
  • 2.5-10x faster than Pandoc - Optimized for formatting (Pandoc is general-purpose)
  • Sub-10ms formatting - Imperceptible latency for on-save formatting

⚡ Consistent Performance

panache maintains consistent ~8-9ms formatting time across document sizes (9-30 KB), suggesting excellent algorithmic efficiency. The parser and formatter scale well.

💪 Why So Fast?

  1. Native compilation - Rust compiles to machine code, no interpreter overhead
  2. Zero startup time - Unlike Node.js/JVM-based tools
  3. Efficient parsing - Single-pass parser with integrated inline handling
  4. Optimized data structures - Lossless CST built with rowan crate

📊 What About Prettier?

Prettier’s time is dominated by Node.js startup (~60-70ms), not formatting logic. For one-off CLI invocations, panache wins decisively. For long-running processes (e.g., editor integration), Prettier’s startup cost is amortized, but panache remains faster.

🎯 What About Pandoc?

Pandoc is a general-purpose document converter supporting 40+ formats. panache is specialized for markdown/Quarto formatting, enabling focused optimizations. Pandoc remains the gold standard for syntax correctness, but panache delivers 3-10x faster formatting.

Reproducing Benchmarks

All benchmarks are reproducible:

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

# Run comparison benchmark
./benches/compare_all.sh

# Or run internal benchmarks
cargo bench --bench formatting