Skip to main content
Upcoming release — Zylon 1.58These docs are published ahead of release so you can prepare your API integrations. The release image is not yet available. For installations running 1.57, use the 1.57 documentation.

Docling

Performance Configuration

Docling uses a worker pool architecture where workers are automatically split into two groups for quality of service:
  • Small file workers: Process files less than 1MB and less than 100 pages
  • Large file workers: Process files greater than or equal to 1MB or greater than or equal to 100 pages
This prevents large files from blocking the processing queue.

Configuration Parameters

numWorkers: Total number of workers (automatically split 50/50 between small and large file processing) numThreads: Total threads available across all workers. Each worker receives numThreads / numWorkers threads.
Constraints
  • numWorkers >= 2 and must be even
  • numThreads >= 2
  • numThreads must be divisible by numWorkers
  • Recommended: Leave at least 20-30% of cores free for system processes
StrategyHigh concurrency, small files → Many workers, fewer threads per worker
  • Maximizes parallel processing of multiple small documents
  • Use when processing many PDFs under 100 pages
Low concurrency, large files → Fewer workers, more threads per worker
  • Allocates more computational power per document
  • Use when processing scanned books or technical manuals

Extra Configuration

tableMode: Controls table extraction strategy
  • accurate: Maximum precision, higher processing time (default)
  • fast: Speed-optimized with good accuracy
  • none: Disables table extraction
doCellMatching: Enables table cell matching for improved structure recognition. Recommended for complex tables (default: true) forceFullPageOCR: Forces full-page OCR instead of selective regions. Use when standard extraction misses content. Significantly increases processing time (default: false)

Example Configurations

The following examples consider a system with 48 CPU cores. Adjust numWorkers and numThreads based on your system’s CPU count and workload characteristics.
Use case: Steady workload with moderate file volume and average file sizesWhat this does: Middle ground between high throughput and heavy processing. Provides 2 workers for small files and 2 for large files with 9 threads each, balancing concurrency and processing power.
Use case: Processing large volumes of documents under 100 pages and under 1MBWhat this does: Maximizes concurrent file processing with 8 workers for small files and 8 for large files. Reduces threads per worker to increase parallelism. Uses fast table extraction to optimize speed over precision.
Use case: Processing fewer but larger or more complex documents with detailed tables What this does: Allocates more computational power per document with 8 threads per worker. Uses only 2 workers for small files and 2 for large files to focus resources on thorough processing of complex content.
Use case: Processing primarily scanned documents or images requiring full OCR extractionWhat this does: Reduces worker count to allocate more threads per worker for intensive OCR processing. Enables full page OCR to extract text from scanned images. Uses fewer workers (2 for small, 2 for large) with 10 threads each to maximize processing power per document.