8000 column-based algorithm for `OverWindow` · Issue #22001 · risingwavelabs/risingwave · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

column-based algorithm for OverWindow #22001

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

Open
stdrc opened this issue May 27, 2025 · 0 comments
Open

column-based algorithm for OverWindow #22001

stdrc opened this issue May 27, 2025 · 0 comments
Labels
A-window-func Area: Window function, OverWindow. S-need-design Status: A detailed design is needed before coding. Typically used for feat/refactor issues. type/perf Type: Performance.

Comments

@stdrc
Copy link
Member
stdrc commented May 27, 2025

Currently our OverWindow executor use a row-based algorithm, which calculate results for multiple window functions (with the same partition by and order by but possibly different window frames) in one iteration throught the WindowStates structure, sliding the state row by row. It's possible to achieve better performance if we switch to column-based algorithm like what we do in HashAgg, calculate one function call per iteration, feeding input with Columns instead of rows.

@stdrc stdrc added type/perf Type: Performance. A-window-func Area: Window function, OverWindow. S-need-design Status: A detailed design is needed before coding. Typically used for feat/refactor issues. labels May 27, 2025
@github-actions github-actions bot added this to the release-2.5 milestone May 27, 2025
@stdrc stdrc removed this from the release-2.5 milestone May 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-window-func Area: Window function, OverWindow. S-need-design Statu 3C9A s: A detailed design is needed before coding. Typically used for feat/refactor issues. type/perf Type: Performance.
Projects
None yet
Development

No branches or pull requests

1 participant
0