Skip to content

Conversation

Mytherin
Copy link
Collaborator

Fixes #16277

Overflow strings are not necessarily extremely large - they can be relatively small (e.g. 8~16KB each) - since also for those small-ish strings we cannot fit 2048 onto a single page. In the current code for reading overflow strings from disk we allocate at least a block per overflow string - but for these small overflow strings that is very wasteful. This PR modifies this behavior to place overflow strings that are smaller than a block directly into the string vector instead of allocating a dedicated memory block for each of them.

…overflow string - when reading "small" overflow strings place them directly into the vector instead
@Mytherin Mytherin merged commit 6415640 into duckdb:v1.2-histrionicus Feb 18, 2025
48 checks passed
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request Mar 7, 2025
Overflow strings allocations: avoid rounding up memory allocated per overflow string - when reading "small" overflow strings place them directly into the vector instead (duckdb/duckdb#16283)
@Mytherin Mytherin deleted the overflowstringsallocation branch April 2, 2025 09:24
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