aboutsummaryrefslogtreecommitdiffstats
path: root/core/module-run.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-05 17:38:03 +0100
committereunhhu <[email protected]>2026-10-05 17:38:03 +0100
commitb81d8bc8249ee35e87ea630413a311460e85eec0 (patch)
treeed13ff46346e7bf25e695e73ed927358bdc6fb30 /core/module-run.h
parentf7d369e77d999a0e60f3de2b5511b99c81b266bb (diff)
downloadpure-b81d8bc8249ee35e87ea630413a311460e85eec0.tar.gz
pure-b81d8bc8249ee35e87ea630413a311460e85eec0.zip
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)
text_keys_equivalence: adds, has, fields by key, sets where found, positions, runs, removes and clears against a tree keyed by the text
Diffstat (limited to 'core/module-run.h')
-rw-r--r--core/module-run.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/module-run.h b/core/module-run.h
index 74f188b..fac77a4 100644
--- a/core/module-run.h
+++ b/core/module-run.h
@@ -6,7 +6,7 @@
#include "module.h"
/* An item's or a key's op->plan: its cell a text; a FIND joined to the ITEM_GET after it. */
-enum { PLAN_TEXT = 1, PLAN_JOINED = 2 };
+enum { PLAN_TEXT = 1, PLAN_JOINED = 2, PLAN_ROW = 4 };
/* An item instruction's argument: its list and its field. */
static inline uint32_t list_of(uint32_t arg) { return arg & 0xFFFF; }