Skip to content

perf(precompute): prune snapshots by generation - #603

Merged
zzylol merged 1 commit into
mainfrom
perf/594-generation-cache-pruning
Sep 4, 2026
Merged

zzylol merged 1 commit into
mainfrom
perf/594-generation-cache-pruning

Conversation

@zzylol

@zzylol zzylol commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Closes #594.

Eliminates the per-rotation closedKeys allocation and duplicate canonical-key construction:

  • series entries retain their canonical key from admission through serialization;
  • sliding merged entries preserve that identity too;
  • SnapshotCache uses reusable generation marks for liveness/pruning;
  • cache writes concurrent with close serialization mark themselves in the current generation and are not accidentally pruned.

Adds delta-rotation benchmarks at 1k/10k/100k cardinality. Core tests and race validation pass.

Stacked on #602.

@zzylol
zzylol force-pushed the perf/593-concurrent-series-updates branch from 6ab0a45 to a9226fe Compare September 4, 2026 12:08
@zzylol
zzylol force-pushed the perf/594-generation-cache-pruning branch from b435aa9 to 1acdee0 Compare September 4, 2026 12:08
@zzylol
zzylol force-pushed the perf/593-concurrent-series-updates branch from a9226fe to 4c14442 Compare September 4, 2026 12:09
@zzylol
zzylol force-pushed the perf/594-generation-cache-pruning branch from 1acdee0 to 3fd59c4 Compare September 4, 2026 12:09
@zzylol
zzylol changed the base branch from perf/593-concurrent-series-updates to main September 4, 2026 12:35
@zzylol
zzylol merged commit 0b7d3a2 into main Sep 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

asap-precompute-go: eliminate O(series) duplicate key/map allocation during delta rotation

1 participant