aboutsummaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-27 18:48:32 +0100
committereunhhu <[email protected]>2026-09-27 18:49:16 +0100
commit63bfa85e6a63f0718f8e644921201b26bbe8bfd8 (patch)
tree8a54eae378d5178a409f490af6f2b3e277d10b73 /cli
parent76f5edb2bcc227c2be743873753792dbc5af1f48 (diff)
downloadpure-63bfa85e6a63f0718f8e644921201b26bbe8bfd8.tar.gz
pure-63bfa85e6a63f0718f8e644921201b26bbe8bfd8.zip
Find a burst's keys in one look
A message for a document scanned the burst's pending keys with strcmp to see whether its key was there, and the host scanned the burst's earlier requests the same way before each one: both quadratic in the burst (64 concurrent reads, about 31 compares each, twice). The app now indexes its pending documents by key (open addressing over an FNV-1a hash, 1 KiB), answers pure_app_pending in one look, and the host asks it; whether the current event's document is pending is a flag instead of a scan by pointer. Bursts split where they did, except that on an owner, which applies a round's reads first, an edit of a key read in the same round now splits the burst at the host rather than the app saving on its own. A unit test checks the index at 200 keys.
Diffstat (limited to 'cli')
0 files changed, 0 insertions, 0 deletions