# Reader throughput measurements Crops/second on the same 300 frozen development crops per reader. Exact-result caches were disabled. This measures preprocessed input to compact CTC outputs, excluding loading, page segmentation, cropping, text assembly and table extraction. The source and ONNX/LiteRT measurements are batch one; tract reports warmed native model execution. Implementation timing boundaries differ slightly; these are indicative measurements, not a controlled cross-runtime ranking. **Mac conversions and browser validation ran concurrently, so Mac timing numbers are contended.** WASM body/short-label tests used two threads and the other three used one. Browser background scheduling may affect these numbers. Linux CPU and GPU measurements must not be treated as the same device. Native Windows, iOS and Android hardware remain untested. | Runtime/device | Body | Short labels | Printed | Numeric/math | Degraded | |---|---:|---:|---:|---:|---:| | Source FP32 / PyTorch2.10 CUDA / RTX5080 Laptop | 210.08 | 210.76 | 211.76 | 211.45 | 210.52 | | Linux / RTX5080 Laptop / ORT CUDA1.23.2 | 347.08 | 342.76 | 315.42 | 330.48 | 323.72 | | Linux / RTX5080 Laptop / tract CUDA | 230.45 | 242.53 | 225.46 | 222.40 | 216.53 | | Linux / CPU / ORT1.31,2 threads | 14.42 | 14.50 | 10.16 | 13.45 | 13.47 | | Linux / CPU / LiteRT2.3,2 threads | 43.50 | 45.07 | 42.84 | 42.01 | 43.30 | | M2 Mac / Core ML CPU_AND_GPU | 51.39 | 37.93 | 37.90 | 47.45 | 78.94 | | M2 Mac / tract CPU | 21.78 | 21.85 | 17.85 | 17.48 | 27.58 | | M2 Mac / tract Metal | 27.30 | 27.76 | 14.09 | 20.46 | 43.57 | | M2 Mac / ORT1.31 CPU | 8.34 | 8.34 | 5.11 | 5.23 | 7.32 | | M2 Mac / ORT1.31 CPU HQQ | 7.69 | 7.67 | 5.34 | 5.27 | 9.59 | | M2 Mac / Chrome WebGPU | 8.43 | 8.82 | 8.62 | 7.43 | 5.81 | | M2 Mac / Chrome WASM | 0.91 | 0.99 | 0.55 | 0.45 | 0.47 | All 55 reader/runtime pairs passed the >=98% character-parity gate in every development bucket. The lowest bucket across all pairs was 98.2586%. This is character agreement with the uncompressed model, not exact-line agreement or OCR accuracy. The pure-W4 full-page handwritten-table diagnostic failed (~86.51% parity on the CPU block16 route). An optional image-only route retained FP32 readers for color-separated handwriting and reached 100% on that example. The three public page diagnostics with that mixed-precision policy reached 100%,99.8895%,100%. No table-grid extraction was exercised (table_grids=0); full document qualification remains open. See VALIDATION.json for the complete per-reader bucket metrics and diagnostic scope.