Skip to content

Add page splitting/copying benchmarks and markdown report#27

Merged
Mythie merged 1 commit intomainfrom
bench/splitting-and-reports
Feb 16, 2026
Merged

Add page splitting/copying benchmarks and markdown report#27
Mythie merged 1 commit intomainfrom
bench/splitting-and-reports

Conversation

@Mythie
Copy link
Contributor

@Mythie Mythie commented Feb 16, 2026

Closes #26.

Adds benchmarks for page splitting, copying, and merging with synthetic large PDFs (100-page, 2000-page) built from sample.pdf. Includes head-to-head comparisons against pdf-lib for all operations.

Also adds a report generator (scripts/bench-report.ts) that runs the full suite and writes reports/benchmarks.md, plus a CI workflow to keep the report current.

New benchmark suites

  • splitting.bench.ts — single-page extraction, full split to 1-pagers, batch extraction
  • copying.bench.ts — cross-document page copy, same-doc duplication, PDF merging
  • comparison.bench.ts — libpdf vs pdf-lib for extract, split (100p + 2000p), copy, merge

Report pipeline

  • bun run bench:report runs benchmarks and generates markdown
  • reports/benchmarks.md is committed to the repo
  • .github/workflows/bench.yml runs on push to main, weekly, and manual dispatch

Add benchmarks for page splitting, copying, and merging (#26).
Synthetic 100-page and 2000-page PDFs are generated from sample.pdf
and cached to disk for reuse.

New benchmark suites:
- splitting.bench.ts: single-page extraction, full split, batch extract
- copying.bench.ts: cross-doc copy, duplication, merging
- comparison.bench.ts: head-to-head vs pdf-lib for all of the above

Report generation:
- scripts/bench-report.ts transforms vitest JSON output to markdown
- reports/benchmarks.md committed to repo, updated by CI
- .github/workflows/bench.yml runs weekly + on push to main
@vercel
Copy link
Contributor

vercel bot commented Feb 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
core Ready Ready Preview, Comment Feb 16, 2026 1:00pm

@Mythie Mythie merged commit cdd6cab into main Feb 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide Benchmarks

1 participant