-
Notifications
You must be signed in to change notification settings - Fork 409
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
Make performance of TPCH q15 stable (#4570) #4710
Make performance of TPCH q15 stable (#4570) #4710
Conversation
Signed-off-by: ti-chi-bot <[email protected]>
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
…pick-4570-to-release-5.3
Signed-off-by: xufei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Signed-off-by: xufei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Signed-off-by: xufei <[email protected]>
/merge |
@windtalker: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: 112bc2b
|
Signed-off-by: xufei <[email protected]>
/merge |
@windtalker: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: 3336dc4
|
lines: 36.0% (42939 out of 119384) |
This is an automated cherry-pick of #4570
Signed-off-by: xufei [email protected]
What problem does this PR solve?
Issue Number: close #4451
Problem Summary:
What is changed and how it works?
Actually, there are 2 possible solutions
executeOnBlock
Aggregator::mergeAndConvertToBlocks
, check the result_size_bytes, and if it exceeds the threshold, convert all the hash table into two-level hash tableFor the first solution, converting hash table to two-level hash table can be done by each threads in the first stage of ParallelAggregating, and for the second solution, this converting things are executed in 1 threads.
I've done some test for both solutions, and found first solution has ~20% perfomance gain compared to the second solution for TPCH q15. So I choose the first solution.
Why not enable two-level hash table by default for all the cases:
Testing query:
select count(*),id from test group by id;
test
has 65536 rows, all rows have the sameid
, that is to say the above query return only 1 rowTesting cluster has only 1 TiFlash, and the cpu has 36 core, each query is running 1000 times.
Check List
Tests
Side effects
Documentation
Release note