Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specialize batched column-wise hashing for RunLengthEncodedBlock #19723

Merged

Conversation

pettyjamesm
Copy link
Member

Description

Adds special case handling of RunLengthEncodedBlock in generated FlatHashStrategy implementations that hoists the hash calculation outside of the loop. This has the added benefit of making the normal compute loop at most bi-morphic between DictionaryBlock and the type-corresponding ValueBock subclass.

FlatGroupByHash already specializes hash calculations for RunLengthEncodedBlock at a higher level when all group by input blocks are run-length encoded, so this change will only affect performance for mutli-column grouping operations with a mix of run length and dictionary/plain block inputs.

Release notes

(x) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text:

@cla-bot cla-bot bot added the cla-signed label Nov 13, 2023
@pettyjamesm pettyjamesm force-pushed the specialize-rle-hash-strategies branch from 5fa972a to 658ac5f Compare November 13, 2023 19:31
@pettyjamesm pettyjamesm requested a review from dain November 13, 2023 19:56
@pettyjamesm pettyjamesm marked this pull request as ready for review November 13, 2023 19:58
Copy link
Member

@dain dain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@pettyjamesm pettyjamesm force-pushed the specialize-rle-hash-strategies branch from a9abe87 to 7d37786 Compare November 13, 2023 21:48
@pettyjamesm pettyjamesm force-pushed the specialize-rle-hash-strategies branch from 7d37786 to 9ac52d5 Compare November 13, 2023 22:49
@pettyjamesm pettyjamesm requested a review from dain November 14, 2023 00:34
@pettyjamesm pettyjamesm merged commit a24475e into trinodb:master Nov 15, 2023
@pettyjamesm pettyjamesm deleted the specialize-rle-hash-strategies branch November 15, 2023 02:51
@github-actions github-actions bot added this to the 434 milestone Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants