You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf(store): evaluate in-place resolved-path pubkey scanning and bounded sharing #533
Measurement-first memory/CPU improvement, medium priority. Fork master 8798f74eeec124f21d0e82a8d64b93b31d7facc0 (24 October 2026) still has bulk-load/eviction paths that decode resolved-path JSON to collect non-empty pubkeys. Evaluate scanning the usual representation in place, with a correctness-preserving JSON fallback.
Fork adaptation and dependencies
Inventory current loaders, eviction and existing decodePersistedRelayPath optimizations before changing anything. Preserve public-key validation, canonicalization, hash-width handling, ordering and duplicate semantics.
Any retained new string must not pin a large input buffer. Saturation and unusual/escaped JSON must fall back safely. Do not introduce an unbounded cache or hot-lock contention.
Keep trackedBytes, eviction and ownership meaningful; distinguish logical charges from retained bytes and the pool's own retention.
Acceptance criteria
Compare scanner vs current decoder on malformed/escaped JSON, nulls, empty keys, mixed values and randomized inputs; run race and all affected load/merge/eviction tests. Benchmark current fork before/after with realistic observation counts and report allocation count, allocated bytes, retained heap, peak RSS and startup/eviction CPU separately. Source measurements are not measurements of our instance. No schema/API/config/deployment change should be bundled.
Activity
dborup commentedon Oct 24, 2026
Fixed by #575 (merged as
a38d68202d0a979efb97dbf11c07c2492dd7e4af).