evidence · 2.0 KiB

board-timing.md

Committed at docs/evidence/omarchy-themes/background-decode-cache-qemu/board-timing.md. This is what grounds the requirements that cite it.

Open raw source

Wallpaper decode cache: board timing

Observed 2026-09-24 about 23:15 UTC. Evidence class: installed system on the reserved board, with shell-user k230-theme commands timed over the serial console. No camera was used and nothing was touched by a finger.

RoundThemeGeneration has background.cachepreviewactivateResult
1catppuccin-latteyes (written at prepare)3396 ms2761 msactivated
1community-proofyes5320 ms3426 msactivated
1catppuccinyes5032 ms2785 msactivated
2catppuccin-latteyes2496 ms2958 msactivated
2community-proofyes3426 ms3460 msactivated
2catppuccinyes2568 ms3181 msactivated

There were zero appearance-*-failed or appearance-*-rejected lines in the shell journal. Before the cache, the same three activations took 3.7–5.0 s (../commit-fix-board/README.md). Round 1 previews include writing the cache (about 2–3 s extra); round 2 reuses the generation.

Where the remaining time goes. A bare k230-theme --help takes 1259 ms and list takes 1282 ms, against 71 ms for runuser alone. So each command pays about 1.2 s of Python interpreter start-up and imports on the K230 before doing any work. With PYTHONPROFILEIMPORTTIME, theme_activate accounts for 357 ms cumulative, with dataclasses and inspect about 137 ms and 107 ms. The activation also restarts wvkbd for keyboard colours. Startup on this build still logged wallpaper-commit at 4066 ms, because the active generation was prepared before the cache existed.

Follow-ups:

Real-finger chooser timing remains unmeasured.