perf(onset): lands never wait on Upstream, cheaper lands and git view, small-step compaction
Radin committed
- Author
- Radin · radin@coline.appOct 29, 2026 at 05:36
- Committer
- Radin · radin@coline.appOct 29, 2026 at 05:36
- Parents
- 07149df2c388
perf(onset): lands never wait on Upstream, cheaper lands and git view, small-step compaction - Sign-in, repository and rules answers are used while a newer one is fetched in the background (up to 60 s / 2 min old); a request only waits on Upstream when nothing is known. The data center's copy keeps when Upstream gave it, so new instances after a deploy start from it too. - The Worker's land batching sends the next call as soon as the last one ends (it polled every 25 ms). - An edits land writes its change once, already landed, with no extra roots; objects go in one statement; main's latest version is kept in memory: 18 statements a land down to 7. - Tree diffs walk both folders' sorted entries side by side instead of building maps; objects the core made aren't hashed again. A land on a 900-file folder costs half the CPU. - The git view writes a folder's tree as a delta on its tree earlier in the same pack (25x fewer bytes pushed on radin/vcs-check), sends each unchanged entry's git ID once a pack instead of once a version, and loads a batch's folders a level at a time in one read: a 256-version push of vcs-check builds in 12 s instead of 85-98 s. - Compaction reads only the rows it moves (it read 20,000 rows' bytes to keep 8 MB) and moves them 256 KB at a time, so lands aren't held for seconds behind one big write. - bench/land.mjs: --flat (a big top folder) and a no-rules Upstream for --git. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 files changed+423−41