summaryrefslogtreecommitdiff
path: root/docs/PERFORMANCE.md
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-20 06:56:58 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-20 06:56:58 +0200
commit93d0becabf76aaa568989f295ca9b8a2c387f0cc (patch)
tree14adc56b77d791ebe387c411f7de65063119df0e /docs/PERFORMANCE.md
parentf455246fde086dda0cb61b92c84a5146a831a2bf (diff)
docs: record M6b (QR) results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/PERFORMANCE.md')
-rw-r--r--docs/PERFORMANCE.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md
index 9a5bcbf..9c9a31a 100644
--- a/docs/PERFORMANCE.md
+++ b/docs/PERFORMANCE.md
@@ -25,6 +25,19 @@ The targets are in [README section 18](../README.md#18-performance-budgets). Thi
## Results
+### 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:
+
+ | QR | Compute | Steps | At 50 ms per step on a watch |
+ | --- | --- | --- | --- |
+ | Version 3 (29 x 29) | 81 ms | 28 | at least 1.4 s |
+ | 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 |
+
+ 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)
- **Compute.** An Aegis export with 100 entries (19 KB, compact) takes 332 ms of compute in the unit-test benchmark, spread over 159 job steps.