From 338c6653e545e18178316975123d9789e6885d28 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sun, 11 Oct 2026 11:49:52 +0100 Subject: Batch executor: the round's fewest-left marks at the end of Batch: put after spare_count they moved its large arrays and knapsack ran 7% slower at the same instructions (8.79 against 8.29 ms), at its end about 2% (8.45); research 139's afterword: 026 not taken heavily (the user's word), the one light cut made (a nested count loop's rounds sweeping only when few lanes are left: matmul 25.85 to 24.3 ms), the walk loops kept sweeping each round (held, BFS's batches ran out), and the stop; 041 runs of b21 --- core/module-batch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core') diff --git a/core/module-batch.c b/core/module-batch.c index 56f9e18..3b9df87 100644 --- a/core/module-batch.c +++ b/core/module-batch.c @@ -212,7 +212,6 @@ typedef struct { bool none; /* no lane runs here */ Split splits[SPLITS]; unsigned split_count, buffers, masks, read_count, store_count, spare_count; - unsigned low_buffers, low_masks; /* the fewest left since a round began (tide) */ void *spare[BUFFERS]; /* lanes no value holds any more */ Read reads[READS]; Store stores[STORES]; @@ -233,6 +232,7 @@ typedef struct { unsigned cells_count; const uint32_t *sel; /* a selection running (NULL: none): its lanes */ Selection selection; + unsigned low_buffers, low_masks; /* the fewest left since a round began (tide) */ } Batch; static _Thread_local Batch batch; -- cgit v1.2.3