Profile Linux OCR image processing and recognition throughput #11

Closed
opened 2026-09-22 00:53:59 +02:00 by rexlManu · 1 comment
Owner

Two real OCR workers are active, but the small generated-image test showed 747 ms sequential versus 737 ms concurrent for eight images. Measure decode, resize, pixel transform, encoding and recognition separately with temporary profiles. Use results to choose a small optimization only if measured. Preserve text, coordinates and supported languages. No live account or desktop capture. Record live verification limits.

Two real OCR workers are active, but the small generated-image test showed 747 ms sequential versus 737 ms concurrent for eight images. Measure decode, resize, pixel transform, encoding and recognition separately with temporary profiles. Use results to choose a small optimization only if measured. Preserve text, coordinates and supported languages. No live account or desktop capture. Record live verification limits.
Author
Owner

Completed in 6c2997a. The previous benchmark used incidental helper IPC, intentionally serialized on scheduler worker0, so it could not measure loot-pool concurrency. pnpm profile:ocr now separates helper batches, image processing stages and direct maintained-source OCR pool batches. Eight generated 430x250 images: sequential349-372ms, parallel193-214ms; 900x600: sequential718-763ms, parallel460-488ms. About1.6-1.8x for these inputs. Preprocessing averages8.6/28.6ms, with PNG encoding4.9/13.7ms. No speculative runtime optimization added. All text checks pass; methods and limits are in docs/ocr-performance.md. Live verification is #12, installed release update after that is #13.

Completed in https://git.it-lampe.de/rexlManu/garmith-app/commit/6c2997a. The previous benchmark used incidental helper IPC, intentionally serialized on scheduler worker0, so it could not measure loot-pool concurrency. pnpm profile:ocr now separates helper batches, image processing stages and direct maintained-source OCR pool batches. Eight generated 430x250 images: sequential349-372ms, parallel193-214ms; 900x600: sequential718-763ms, parallel460-488ms. About1.6-1.8x for these inputs. Preprocessing averages8.6/28.6ms, with PNG encoding4.9/13.7ms. No speculative runtime optimization added. All text checks pass; methods and limits are in docs/ocr-performance.md. Live verification is #12, installed release update after that is #13.
rexlManu 2026-09-22 00:58:07 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rexlManu/garmith-app#11
No description provided.