Skip to content

Phase 8: PdfiumPool and Multi-Threading #9

@tlkahn

Description

@tlkahn

Goal

Provide genuinely safe multi-threaded rendering via a pool of Pdfium instances. Verify all types are !Send.

Tasks

  • Verify all types are !Send and !Sync (no accidental auto-trait impls)
  • Implement PdfiumSource enum (Path, System, Static, Bundled)
  • Implement PdfiumPool: create N Pdfium instances, Mutex-wrapped, semaphore-gated with() method
  • Write stress tests: parallel rendering of different PDFs via rayon
  • Write examples/parallel_render.rs
  • Benchmark: pool rendering vs. sequential rendering throughput

Exit Criterion

Parallel rendering works correctly under rayon with no data races (run under Miri and/or ThreadSanitizer).

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions