From 25910f3a7a7fb28c4a58367b6e56dd2468b60933 Mon Sep 17 00:00:00 2001 From: cirakg Date: Tue, 20 Oct 2026 12:16:59 +0200 Subject: docs: record M6 (all 12 symbologies) results; bump to 0.6.0 Co-Authored-By: Claude Opus 5.5 --- docs/PERFORMANCE.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'docs/PERFORMANCE.md') diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md index 9c9a31a..0fbb2f0 100644 --- a/docs/PERFORMANCE.md +++ b/docs/PERFORMANCE.md @@ -28,7 +28,7 @@ The targets are in [README section 18](../README.md#18-performance-budgets). Thi ### M6, 2026-10-20 (barcodes, in 0.6.0) - **Linear codes** encode in milliseconds while the screen opens; nothing is cached. -- **QR is encoded as a job** in steps sized for the Forerunner 255S's watchdog: at most 2,500 modules to place, 500 to score as rows, 1,000 as columns, or one Reed-Solomon block. Simulator compute time and steps: +- **2D codes are encoded as jobs.** QR works in steps sized for the Forerunner 255S's watchdog: at most 2,500 modules to place, 500 to score as rows, 1,000 as columns, or one Reed-Solomon block. Simulator compute time and steps: | QR | Compute | Steps | At 50 ms per step on a watch | | --- | --- | --- | --- | @@ -36,6 +36,17 @@ The targets are in [README section 18](../README.md#18-performance-budgets). Thi | Version 10 (57 x 57) | 312 ms | 105 | at least 5.3 s | | Version 26 (121 x 121) | 1.4 s | 407 | at least 20 s | +- **First-time encoding in the simulated watches** (the UI flow's demo cards, `make screenshots` prints these times): + + | Code | Size | Time | + | --- | --- | --- | + | QR (version 6) | 41 x 41 | 2.8 s | + | Data Matrix | 18 x 18 | 0.2 s | + | PDF417 | 86 x 29 rows (round watches), 103 x 15 (rectangular) | 0.35 to 0.55 s | + | Aztec (compact) | 23 x 23 | 0.15 s | + + These times are mostly the 50 ms pauses between steps. QR is the slow one, because of its eight mask evaluations. + Version 10 is over README 18's 3 s target. Most of the time is the pauses between steps, and mask scoring (eight masks, every module) is most of the steps. The cache makes every later opening instant. M8 can cut the steps, for example by scoring masks on packed rows. The demo card (version 6) encodes in 2.8 s in the simulated watches (`make screenshots` prints it). ### M5, 2026-10-20 (version 0.5.0, import) -- cgit v1.2.3