Skip to content

[wip] recsplit: parallel#19538

Draft
AskAlexSharov wants to merge 44 commits intomainfrom
alex/recsp_par_h2_34
Draft

[wip] recsplit: parallel#19538
AskAlexSharov wants to merge 44 commits intomainfrom
alex/recsp_par_h2_34

Conversation

@AskAlexSharov
Copy link
Collaborator

No description provided.

AskAlexSharov and others added 30 commits February 27, 2026 13:03
- Add pure recsplit() function independent of RecSplit class
- Extract recsplitScratch for shared configuration and buffers
- Add bucketResult pooling via package-level sync.Pool
- Unify sequential and parallel code paths (without workers)
- Improve code organization and testability

This refactoring improves code quality and enables better separation
of concerns without the parallelization infrastructure.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…ariance

The pre-computed golombRice table was sized exactly to bucketSize, but in
practice hash distributions can cause individual buckets to occasionally
exceed the target size. Add 10% buffer to account for this variance.

This fixes the 'index out of range' panic when processing buckets with
uneven hash distributions.
Instead of trying to pre-compute with a fixed percentage, pre-populate
with a 50% safety margin and let golombParam extend naturally if needed.
This ensures we handle various hash distributions without index bounds errors.

Fixes TestGCReadAfterRemoveFile and other tests that use RecSplit with
different bucket size configurations.
@AskAlexSharov AskAlexSharov mentioned this pull request Mar 2, 2026
16 tasks
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.

1 participant