Benchmark

July 12, 2026 · View on GitHub

An HTML-to-Markdown benchmark for htmd-cli, Turndown.js and Pandoc.

What does it do?

  • Fetch 200 page links from Wikipedia - Rust
  • Fetch all 200 pages and save them as HTML files
  • Bench using hyperfine and following command:
    hyperfine --warmup 3 --runs 5 \
    'cargo run --release -- ./bench/bench-pages -o ./bench/bench-out/htmd' \
    'bun bench/turndownCli.ts ./bench/bench-pages' \
    'bun bench/pandocBatchCli.ts ./bench/bench-pages'
    

Environment

System: linux x64 #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026

CPUs: AMD EPYC 9V45 96-Core Processor x 4

Memory: 15.6 GB

Versions

Bun: 1.3.14

Hyperfine: 1.18.0

htmd-cli: 0.5.1

Turndown.js: 7.2.0

Pandoc: 3.2

Inputs

File count: 200

Total size: 40.26 MB

Results

Benchmark 1: cargo run --release -- ./bench/bench-pages -o ./bench/bench-out/htmd
  Time (mean ± σ):     333.0 ms ±   6.0 ms    [User: 1145.6 ms, System: 52.7 ms]
  Range (min … max):   322.6 ms … 338.3 ms    5 runs
 
Benchmark 2: bun bench/turndownCli.ts ./bench/bench-pages
  Time (mean ± σ):      4.400 s ±  0.126 s    [User: 5.934 s, System: 0.378 s]
  Range (min … max):    4.225 s …  4.567 s    5 runs
 
Benchmark 3: bun bench/pandocBatchCli.ts ./bench/bench-pages
  Time (mean ± σ):     22.733 s ±  0.242 s    [User: 82.002 s, System: 5.017 s]
  Range (min … max):   22.510 s … 23.052 s    5 runs
 
Summary
  cargo run --release -- ./bench/bench-pages -o ./bench/bench-out/htmd ran
   13.22 ± 0.45 times faster than bun bench/turndownCli.ts ./bench/bench-pages
   68.27 ± 1.43 times faster than bun bench/pandocBatchCli.ts ./bench/bench-pages

Updated at Sun, 12 Jul 2026 08:12:59 GMT

Generated by bench.ts