Files
amethyst/geode/plans
Claude 2c0ad4fbf5 docs(geode): performance plans for future work
Four sketches, queued by impact, each grounded in current code paths
and observed benchmark numbers:

- event-ingestion-batching: SQLite group commit + EVENT pipelining +
  off-thread Schnorr verify. Targets 5–10× EPS on a fast SSD.
- live-broadcast-fanout-index: indexed filter matching to replace the
  O(N_subs × N_filters) per-event walk in LiveEventStore. Targets
  flat fanout p99 up to high subscriber counts.
- connection-scaling: shrink the per-session outQueue footprint
  (currently the dominant per-conn cost), tune Ktor CIO group sizes,
  reduce JSON parse allocations. Targets 10 000+ concurrent conns.
- negentropy-large-corpus: id-and-time-only snapshot path so NEG-OPEN
  on a 5M-event store doesn't materialise full Event objects, plus
  bounded-window defaults and concurrent-session caps.

Each plan names the verification benchmark to add. Plans are queued,
not committed work — README orders them by expected impact.
2026-05-07 14:05:11 +00:00
..

geode plans

Performance-focused design docs for future work. Each file is a self-contained sketch — problem statement, observed numbers, proposed fix, how to verify, risks. None of these are committed work; they're the queue.

Ordered roughly by expected impact:

Plan Headline gain
2026-05-07-event-ingestion-batching.md 510× write EPS via SQLite group commit + ingest pipelining
2026-05-07-live-broadcast-fanout-index.md >10× fanout speedup at >2 000 subscribers
2026-05-07-connection-scaling.md 2 000 → 10 000+ concurrent connections
2026-05-07-negentropy-large-corpus.md 25× lower memory + faster NEG-OPEN on M-event corpora

Verification target for each plan is a new method on geode.perf.LoadBenchmark (gated by -DrunLoadBenchmark=true) so regressions show up in the regular CI matrix once they're enabled.