aboutsummaryrefslogtreecommitdiff
path: root/docs/PERFORMANCE.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/PERFORMANCE.md')
-rw-r--r--docs/PERFORMANCE.md13
1 files changed, 12 insertions, 1 deletions
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)