<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pure/docs/design/023-optimizing-tier.md, branch master</title>
<subtitle>Verified execution runtime unifying state, persistence, and replication.
</subtitle>
<id>http://git.yeowoo.org/pure/atom?h=master</id>
<link rel='self' href='http://git.yeowoo.org/pure/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/'/>
<updated>2026-10-05T18:36:25Z</updated>
<entry>
<title>125: forms and newton runs named; BFS's time after the graph's load is the generic code's (steps 0.1%), what the tier needs for it (a list's count as a changing value); 023 cites words at e2e56dd</title>
<updated>2026-10-05T18:36:25Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T18:36:25Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=a099d63e2322f5ae17e8fbdc51d6cc020638a5dc'/>
<id>urn:sha1:a099d63e2322f5ae17e8fbdc51d6cc020638a5dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pointer induction (023): an inner count's access by a key affine in its round, in range for every round (its opening found it) and in a full list, reads its cell through a pointer, a phi at the loop's head: the column (read from the list) plus the key at round 0 times four where the loop opens, its key's step a round times four added at its latch. The key's nodes, in range, give up nowhere (no snapshot kept), so a key read by such accesses alone is not made; a list found by key alone with such an access is full where the tier begins (else the generic code runs the nest). matmul 23.0 to 14.2 ms (3.1x to 1.9x C)</title>
<updated>2026-10-05T18:14:08Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T18:14:08Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=b5c275f6b908aad08b98bc0cc643f8602ebfb157'/>
<id>urn:sha1:b5c275f6b908aad08b98bc0cc643f8602ebfb157</id>
<content type='text'>
module_tier's programs sweep lists by keys stepping with a round (in range or not, a list full or not)
</content>
</entry>
<entry>
<title>040 forms.c: matmul's inner loop in the forms the tier may make it (index 20.7 ms, pointer with multiply-add 13.1, apart 10.0, with checks 10.2, a bit tested before each load 13.4): the position's multiply and the pre-load branch cost, the checks hardly; 023 section 5 says so and what comes first (pointer induction, then a full list's copy)</title>
<updated>2026-10-05T17:53:24Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T17:53:24Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=8c0c409ec5032a39bf9181198a24f25cca90d5fb'/>
<id>urn:sha1:8c0c409ec5032a39bf9181198a24f25cca90d5fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>The tier's numbers' arithmetic in a run, each read by the next alone (constants between), checks only the last is finite, giving up at the run's first snapshot (the executor makes the run again and fails where it does); a snapshot's constants written as the constants they are, not kept in registers; the generic code's append in a loop keeping its books puts into a HASHED list as append does (its headroom kept). roots 12.2 to 10.9 ms (1.59x C), join 84 to 74 (2.5x)</title>
<updated>2026-10-05T17:08:56Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T17:08:56Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=49b6196d883a2b69cb4b6fb437af71544ba3bc93'/>
<id>urn:sha1:49b6196d883a2b69cb4b6fb437af71544ba3bc93</id>
<content type='text'>
module_assumptions: a run of products and sums past the largest number (CHAIN_SOURCE)
</content>
</entry>
<entry>
<title>A HASHED list's table four fifths full at most (100,000 keys in 1 MB of slots, as C's table: in the L3), the generic code's APPEND into a HASHED list at its key's slot while its table need not grow, a whole number over a whole one above 0 never -0 (so MINSTD's floor(x * 48271 / p) is whole and x an integer in the tier). join 108 to 84 ms (2.8x C), sort 58 to 37 (1.4x)</title>
<updated>2026-10-05T16:47:43Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T16:47:43Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=4f6ce04d7986f45c8f0910262b6a48cb864577ff'/>
<id>urn:sha1:4f6ce04d7986f45c8f0910262b6a48cb864577ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Text keys (023): a list knows the text field it is keyed by; an event's list keyed by a text is HASHED from its first item, its table's slots holding the texts' hashes (FNV-1a), a match the key cell's bytes too; HAS and a field by key read the table; its order made by a merge sort (the first eight bytes as a number, then all). A FIND whose index only an ITEM_SET of its list takes, the code between in a line finding by key alone, sets the item where it was found (PLAN_ROW: a HASHED list's slot, no position made). words 453 to 217 ms (5.8x C)</title>
<updated>2026-10-05T16:38:03Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T16:38:03Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=b81d8bc8249ee35e87ea630413a311460e85eec0'/>
<id>urn:sha1:b81d8bc8249ee35e87ea630413a311460e85eec0</id>
<content type='text'>
text_keys_equivalence: adds, has, fields by key, sets where found, positions, runs, removes and clears against a tree keyed by the text
</content>
</entry>
<entry>
<title>HASHED (023): an event's list keyed by numbers that came out of order keeps each item's cells at its key's slot in its members' table, found by key there (the key and its cells read at one slot, as C's table); its order made by a radix sort of the slots' keys when something asks for a position (twice an event, then FLAT or a tree). The tier finds by key alone in a HASHED list (its bits' bit 1, its limit all ones: the bounds checked at a loop's opening still hold) out of the line; a list keyed by each count in order is DENSE from its first item. join 531 to 108 ms (3.5x C), sort 98 to 58 (2.1x)</title>
<updated>2026-10-05T16:24:28Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T16:24:28Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=f7d369e77d999a0e60f3de2b5511b99c81b266bb'/>
<id>urn:sha1:f7d369e77d999a0e60f3de2b5511b99c81b266bb</id>
<content type='text'>
arrays_equivalence counts the HASHED form against a tree; module_tier's programs read a HASHED list by key
</content>
</entry>
<entry>
<title>023: near C is the aim (each within 1.25x, the geometric mean within 1.1x), not past it; representation first, since a keyed list given keys in order stays FLAT and is searched by halves (knapsack's and matmul's 300x)</title>
<updated>2026-10-05T13:31:30Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T13:31:30Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=c2b955ddf87b1057095b8fa7ca8917190daac82c'/>
<id>urn:sha1:c2b955ddf87b1057095b8fa7ca8917190daac82c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>023: only checks the tier moved know just that they fail (those left in place fault where they are; now is the host's per-event value); value numbering of pure operations, which words' floor assumes</title>
<updated>2026-10-05T12:38:08Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T12:38:08Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=b2b7f849d6ab80fceb7d3c3c312fae859613a913'/>
<id>urn:sha1:b2b7f849d6ab80fceb7d3c3c312fae859613a913</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Design 023, before building it: a tier that lifts every block to SSA, knows types and ranges, hoists the meaning's checks out of loops, counts work per loop, allocates registers; criteria on research 124's suite of seven kinds of work against C (each within 1.25x, the geometric mean below 1.0, the meaning's checks within 5%), from floors at 0.90x C</title>
<updated>2026-10-05T12:35:30Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T12:35:30Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=2945d2c0d6661d3602a2950825179331cb0ce4e0'/>
<id>urn:sha1:2945d2c0d6661d3602a2950825179331cb0ce4e0</id>
<content type='text'>
</content>
</entry>
</feed>
