From b6f074a72a366fb491543775acfbfb6522a93f14 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Mon, 21 Sep 2026 21:07:54 +0200 Subject: [PATCH] Say where a table's row index is really built --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2bdc176..c49bbd8 100644 --- a/README.md +++ b/README.md @@ -746,12 +746,14 @@ token {w} is repeated, and uppercase operand "w" holds "w" to one draw per expan ### Performance -Each file is parsed, validated and weight-indexed once, in `New`. Proving the draw -fences adds a pass over the loaded tree per fence, and walks what a render reads only -where data binds a reference, so a set that binds none pays for the passes alone. A -`Fake` call then costs about what its output costs: an unweighted pick is O(1) -whatever the list's length, a weighted one O(log n), and long formats, deep nesting -and many tokens add cost in proportion to the output. +Each file is parsed, validated and weight-indexed once, in `New`, bar a table with a +name or a parent column, which indexes its rows on the first `Fake` that selects or +descends through it. Proving the draw fences adds a pass over the loaded tree per +fence, and walks what a render reads only where data binds a reference, so a set that +binds none pays for the passes alone. A `Fake` call then costs about what its output +costs: an unweighted pick is O(1) whatever the list's length, a weighted one +O(log n), and long formats, deep nesting and many tokens add cost in proportion to +the output. ## Versioning