Skip to content

feat: reserve dense map value storage - #56

Merged
hurricane1026 merged 2 commits into
masterfrom
perf/reserve-dense-map-values
Aug 10, 2026
Merged

feat: reserve dense map value storage#56
hurricane1026 merged 2 commits into
masterfrom
perf/reserve-dense-map-values

Conversation

@hurricane1026

Copy link
Copy Markdown
Contributor

Summary

  • add an explicit reserve_values() API for flat and indirect dense-map storage
  • allow the contiguous value array to grow directly to a requested minimum capacity
  • verify reserved string-map values do not move while filling the reservation

This keeps the existing memory-saving behavior of reserve() unchanged while allowing reducers that know their final cardinality to avoid repeated value-array reallocations and moves.

Tests

  • containa_test: 309/309 test cases passed (1,595,223 assertions)
  • ClapDB ClickBench Q34, 100M rows, 32 cores, 10 tries: hot median 1.677s vs 1.682s baseline

@hurricane1026
hurricane1026 merged commit 49697e6 into masterAug 10, 2026
10 checks passed
Sign up for freeto 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.

1 participant

@hurricane1026