Files
typewriter/docs/tradeoff-curves
Julien Calixte fe62b47eee docs(sync): convict the loose-write residual — FAT linear dir scans
sd_bench dir-entry scaling: stat-miss is ~0.1 ms/entry and the
loose-object composite hits p50 402.9 ms at 256 siblings, reproducing
the field ~360-400 ms/loose-write from primitives. The objects/
fan-out is ~256 dirs, so every path resolution under it pays the scan.
Bounded and accepted; levers (fewer resolutions, pack-not-loose) go to
a future perf pass.
2026-07-14 09:44:47 +02:00
..

Tradeoff curves

Where a design knob has a cost that bends — energy, latency, memory — against an interval or size, the curve and its knee live here, so the chosen default is traceable to a shape rather than a guess.

Docs index: ../README.md. Project overview: ../../README.md.

Curve What it decides
wifi-auto-sync.md auto_sync interval vs Wi-Fi energy (a 1/T hyperbola) — why the default is 10 min and opportunistic, not a wall-clock timer.
epd-refresh-latency.md E-ink refresh latency vs rows driven — the full / full-area-partial / windowed-Y cost model behind typing responsiveness and the boot splash→editor swap.
sync-commit-staging.md Commit-staging strategy vs working-tree size — RESOLVED: every index-based path is O(N_tree) and fails on the real repo (611 s / OOM); the O(depth) TreeBuilder splice is benched at ~22.8 s and ships. Holds the full measurement trail plus the firmware plumbing plan (merged from the retired handoff note).