- Implement Document::extractAllParallelized() using std::async
to distribute pages across threads with per-thread Document
instances, achieving true parallelism (not the old fake alias)
- zyp_plugin.cpp now uses extractAllParallelized() by default
for PDF extraction during ingestion
- Add zyp_extraction_bench standalone benchmark measuring
sequential vs 2/4/N-thread extraction throughput (pages/s, MB/s)
Build: ninja bench_zyp
Run: build/debug/plugins/zyp/zyp_extraction_bench <pdf>