<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pure/docs/design/024-batch-executor.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-09T14:41:24Z</updated>
<entry>
<title>Research 138: the batch executor's stage 5, design 025 made: sums into cells at once in integers (join 116.0 to 110.5 ms, short of 108: what is left is the same cells' memory, read, add and write again), decide's bit found once (BFS 23.2, short of 21.5: the tail's time was its loads more than its instructions), and the batch executor's loops aligned to 64-byte lines (the hot loops' placement had swung knapsack 6% at the same instructions; the lists' loops aligned too cost the bank's queries 1-2% more instructions, so not they); against b9 matmul -36%, knapsack -28%, roots -7.6%, join -6.2%, BFS -3.9%, the executor alone, the bank queries and TPC-C (+0.7%) as they were; 025's bars and what each stage measured; 024 and CHECKPOINT say so</title>
<updated>2026-10-09T14:41:24Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-09T14:41:24Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=f47f0caa14889013436438f2bcb2c482a58e630b'/>
<id>urn:sha1:f47f0caa14889013436438f2bcb2c482a58e630b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Design 024: its header says stages 1-4 of 025 are made (134-137)</title>
<updated>2026-10-08T16:50:12Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-08T16:50:12Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=f3993efb0c7c38954e991918d66aaca3981bc69c'/>
<id>urn:sha1:f3993efb0c7c38954e991918d66aaca3981bc69c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Design 025: batch programs (132's A), the block's facts once at load and only values each batch: knapsack's per-batch cost measured at 0.90 us, 38% of its 11.5 ms (BATCH 1024 against 256 under a sampled profile: re-reading the block about 39%, value kinds 26%, list facts and dependence 22%, dispatch 14%), sum0's 0.33 us, matmul's inner-round dispatch about 13 ms and float-checked arithmetic about 22; five stages (facts at load, static kinds and list facts once a batch, typed kernels, fewer passes, the tails) with bars from those shares; 041 batch-costs data</title>
<updated>2026-10-08T13:36:27Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-08T13:36:27Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=33091dbffe19bcac00fb7863e24bf0fd445dadd0'/>
<id>urn:sha1:33091dbffe19bcac00fb7863e24bf0fd445dadd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 133: register tiles measured (132's deciding experiment): past the bar on roots (0.71x the compiled code's cycles a step), not on knapsack (4x) or BFS (2.4x), as NEON has no gather and a tile's lanes go out and in one by one; tight passes of the batch executor's own shape in the same run at 1.2x (BFS) and 0.4x (knapsack, clang): the shape is right and the 3x is implementation, so 132's A (a batch program made once at load, loops tight by type, width and stride, fewer passes) is the way; tiles kept aside for chains of arithmetic; 132, 024 and CHECKPOINT say so</title>
<updated>2026-10-08T12:39:18Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-08T12:39:18Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=66e3f7d2adbc752b1e7a6c052675868a564314d4'/>
<id>urn:sha1:66e3f7d2adbc752b1e7a6c052675868a564314d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 131: the batch executor's general cuts, by the user's choice of the general way over a table of fused operations: values computed by the same code taken from the first, if !c one branch, selections (an arm's few lanes alone), keys as bits asked in one loop, L.first + i affine, a slice's bounds at once: the suite's BFS 211 to 112 instructions an edge, 41 to 24 ms (the compiled code 38.5, 7.7); where the rest goes and the floor of the general way (about twice the compiled code); knapsack and matmul 10% slower, cause not fully told; 024 and CHECKPOINT say so</title>
<updated>2026-10-08T10:47:34Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-08T10:47:34Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=ee4e1510819a916bf84cd4b560b05f520d32e86b'/>
<id>urn:sha1:ee4e1510819a916bf84cd4b560b05f520d32e86b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 130: the batch executor's frontiers (a count's guard, walks in a batch's rounds together or spread into lanes, filters asked as a batch opens and again at its end): the suite's BFS batched, 93 to 41 ms (the compiled code 7.7, C 10); where it goes (211 instructions an edge against 38.5: a filter's code over every lane the most); the floor of operations each a pass over the lanes (about 50 an edge, 1.3x the compiled code) and what would pass it (fused operations from a table, 024's); the choice left: a table of them, or the compiled code kept for such work; 024 and CHECKPOINT say so</title>
<updated>2026-10-08T06:46:32Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-08T06:46:32Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=1b902056b7f2b68277534bcfbfa32d0808dbe05b'/>
<id>urn:sha1:1b902056b7f2b68277534bcfbfa32d0808dbe05b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 129: the batch executor's costs cut (appends at once 5.18 to 0.65 ms, a recurrence's steps as numbered values and one loop of actions 44.4 to 21.8, reductions' ends in any order where it cannot tell 9.80 to 4.00): knapsack 10.8, matmul 36.4, join 118, sort 55.5 ms without machine code; where each work's time goes now; BFS's arithmetic (a tail of about a tenth of the edges, done batch-side; edges spread into lanes, not walked together) and the three pieces it needs; the view-workers check's flake; 024 and CHECKPOINT say so</title>
<updated>2026-10-06T09:32:56Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-06T09:32:56Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=5f76620996a75affaec0d97c622ed79debe0d7db'/>
<id>urn:sha1:5f76620996a75affaec0d97c622ed79debe0d7db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 128: the batch executor's appends, recurrences, sums into cells and walks (join 423 to 161 ms without machine code, the tier 74) and what a batch pays for, measured apart: an instruction about 20 ns a batch (0.02 ns a round at 1024 lanes), a reduction's end 4-9 ns a round, an append about 100 ns (the executor's), join's recurrence about 60 ns a round; BFS not batched (a count that grows, a filter that only grows, nested walks), so the JIT stays for now; the next in that order: appends at once, the recurrence's steps in registers, reductions' ends; 022 and 024 and CHECKPOINT say so</title>
<updated>2026-10-06T03:32:33Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-06T03:32:33Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=9cb6985c0d9459ccf4dbbab4b05109168c362f75'/>
<id>urn:sha1:9cb6985c0d9459ccf4dbbab4b05109168c362f75</id>
<content type='text'>
</content>
</entry>
<entry>
<title>024, 126, 127: the lanes are 24 buffers (stage 2), about 200 KB a thread; stage 2 under ASan and UBSan (139 programs, the executor's output)</title>
<updated>2026-10-05T22:27:43Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T22:27:43Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=1b64ab89710a637e66604ece15d83f40ba314586'/>
<id>urn:sha1:1b64ab89710a637e66604ece15d83f40ba314586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Research 127: the batch executor's stage 2 (nested loops' rounds run together lane by lane, breaks, reductions folded in the rounds' order) and the measured passes after it (finite checks in the arithmetic's loop, tests as four-byte masks, the loop's value made once): roots 9.13 ms without machine code, below the tier's 9.57; matmul 50 (the tier 14.3: its table's loop and 15 instructions a nested round left); 685 random programs alike; 024 and CHECKPOINT say so</title>
<updated>2026-10-05T22:22:55Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-05T22:22:55Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/pure/commit/?id=fffe01904984aebd10b237e400859b5ff86f0729'/>
<id>urn:sha1:fffe01904984aebd10b237e400859b5ff86f0729</id>
<content type='text'>
</content>
</entry>
</feed>
