-
Notifications
You must be signed in to change notification settings - Fork 763
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
feat(group_by): support two-level hashmap #5075
feat(group_by): support two-level hashmap #5075
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Thanks for the contribution! Please review the labels and make any necessary changes. |
e5d8ed6
to
bf151db
Compare
808f386
to
79d53f5
Compare
79d53f5
to
a28cc37
Compare
/help |
/assignme -- assign the issue to you |
query/src/pipelines/new/processors/transforms/aggregator/aggregator_final.rs
Outdated
Show resolved
Hide resolved
575b653
to
627f667
Compare
query/src/pipelines/new/processors/transforms/aggregator/aggregator_partial.rs
Outdated
Show resolved
Hide resolved
query/src/pipelines/new/processors/transforms/aggregator/aggregator_final.rs
Outdated
Show resolved
Hide resolved
627f667
to
cb5b567
Compare
How about the group by performance gained with this PR? |
It denpends the cardinal number. In low cardinal situlation, single level map is better than two-level hashmap. In higher cardinal situation, the two-level hashmap is better than single-level hashmap because it decreased the cost of resize which gained abount 6%~8%. But When the cardinal number is higher, the single-level hashmap is better again. This problem happens in clickhouse also when I test the performance of single-level and two-level hashmap. The pr gains low performance because we only done the first step. We need to open parallel merge in the next step. After do this, the performance will increase 2~3 times. I have discussed this implementation with @sundy-li and @zhang2014. Parallel merge needs to expand the pipeline dynamically which is a little bit hard for me. But we will do it soon because it can |
I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
Two level hashmap
Changelog
Related Issues
Fixes #4602