Skip to content

Generate specialized loops for aggregations#14178

Closed
dain wants to merge 7 commits intotrinodb:masterfrom
dain:unwrap-aggergation
Closed

Generate specialized loops for aggregations#14178
dain wants to merge 7 commits intotrinodb:masterfrom
dain:unwrap-aggergation

Conversation

@dain
Copy link
Copy Markdown
Member

@dain dain commented Sep 18, 2022

Description

The generate aggregations loops have specialized paths for dictionary or run length encoded data, and for masked or unmasked data. This change requires that aggregation function using the block and position calling convention have a separate @BlockIndex for each argument so dictionary and rle blocks can have a independent index.

This change can be disabled with compiler.specialized-aggregation-loops=false incase we find problems.

Release notes

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

# General
* Improve performance of aggregation functions. ({issue}`14178`)

# SPI
* Annotated aggregations function block and position calling convention now requires a `@BlockIndex` for each parameter which must appear immediately after each `@BlockPosition` parameter. ({issue}`14178`)

@dain dain requested a review from martint September 18, 2022 18:46
@cla-bot cla-bot bot added the cla-signed label Sep 18, 2022
@dain dain force-pushed the unwrap-aggergation branch 2 times, most recently from 29b1c37 to 618e98f Compare September 19, 2022 17:56
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

mark these as @Experimental

@martint martint mentioned this pull request Sep 21, 2022
19 tasks
@dain dain force-pushed the unwrap-aggergation branch 3 times, most recently from d9c7480 to 3d7f2b5 Compare September 23, 2022 23:48
This removes the requirement to track group count in addInput
The generated full loops have specialized paths for dictionary or run
length encoded data, and for masked or unmasked data.
This can be disabled with compiler.specialized-aggregation-loops=false
@dain
Copy link
Copy Markdown
Member Author

dain commented Dec 6, 2023

This was rewritten in #19385

@dain dain closed this Dec 6, 2023
@dain dain deleted the unwrap-aggergation branch December 6, 2023 20:44
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.

1 participant