cost: measure what a read pays to place a row #167
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "land/cost/reach"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deciding whether liveness may be derived from a row's containment chain needed
a number for what walking that chain costs. The number turned out to be about
something larger, because the walk is not hypothetical: every operator read
already makes it.
siftasksseeof each row it returns,weighbuilds the row's anchor chainbefore it consults a single grant, and
anchorsloads each ancestor with itsown point query. So a read of two hundred rows costs two hundred extra queries
per hop, always, whatever the grants say.
Two hundred rows, ten reads each, in memory — so this is the floor, not the
disk case. A hop costs about eighty microseconds a row and the depths add up
linearly. At depth two an operator pays ninety times what the same read costs
without authority.
The grant seeded here is
allover the unit, the widest there is, and it stillpays:
weighcomputes the chain first and reads the deeds second. Nothing inthe walk is used when a wide grant answers, which is the case this estate's
seeds mostly are.
The immediate question is answered — deriving liveness from the chain is free
for an operator read, because the ancestor rows are loaded already and their
expiry travels with them. What the measurement found instead is that the thing
it would ride on is expensive on its own terms, and unmeasured until now.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Deciding whether liveness may be derived from a row's containment chain needed a number for what walking that chain costs. The number turned out to be about something larger, because the walk is not hypothetical: every operator read already makes it. `sift` asks `see` of each row it returns, `weigh` builds the row's anchor chain before it consults a single grant, and `anchors` loads each ancestor with its own point query. So a read of two hundred rows costs two hundred extra queries per hop, always, whatever the grants say. Flat depth 0 sudo 0.36ms operator 1.83ms walk 1.47ms Deep depth 1 sudo 0.44ms operator 18.10ms walk 17.66ms Deeper depth 2 sudo 0.36ms operator 33.24ms walk 32.88ms Two hundred rows, ten reads each, in memory — so this is the floor, not the disk case. A hop costs about eighty microseconds a row and the depths add up linearly. At depth two an operator pays ninety times what the same read costs without authority. The grant seeded here is `all` over the unit, the widest there is, and it still pays: `weigh` computes the chain first and reads the deeds second. Nothing in the walk is used when a wide grant answers, which is the case this estate's seeds mostly are. The immediate question is answered — deriving liveness from the chain is free for an operator read, because the ancestor rows are loaded already and their expiry travels with them. What the measurement found instead is that the thing it would ride on is expensive on its own terms, and unmeasured until now. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Land-Source: cost/reach@3cf7e5db86f2d24eade0894cf324d9