-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
*: improve performance for BuildHistAndTopN #48902
base: master
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #48902 +/- ##
=================================================
- Coverage 72.0440% 57.0459% -14.9981%
=================================================
Files 1452 1671 +219
Lines 347472 652500 +305028
=================================================
+ Hits 250333 372225 +121892
- Misses 76776 254801 +178025
- Partials 20363 25474 +5111
Flags with carried forward coverage won't be shown. Click here to find out more.
|
87037c9
to
ed7511b
Compare
0e6c0c1
to
afefa94
Compare
4f0d60d
to
1d1e529
Compare
1e1583c
to
d123b8e
Compare
4b56639
to
d123b8e
Compare
/retest |
c490e43
to
dca3831
Compare
/retest |
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.
- Please at least keep the comments valid and up-to-date after you copied them from elsewhere.
- If you need to copy ~80% of an existing function, I suggest we try to find some methods to avoid the large duplication.
- From your benchmark result, I think we are trading space for time instead of a pure improvement. So what's the reason behind this change, and have we checked the risk?
c485888
to
afc0d4c
Compare
I have done the refactor to merge the same code and reduce memory allocate Now, the new one is better than the old one. |
0eb92df
to
90a9a31
Compare
I think there is little performance difference in the new benchmark result. |
90a9a31
to
f1a6ed0
Compare
@@ -242,6 +354,7 @@ func BuildHistAndTopN( | |||
isColumn bool, | |||
memTracker *memory.Tracker, | |||
needExtStats bool, | |||
highNDVMode bool, |
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.
highNDVMode bool, | |
lowNDVMode bool, |
Why it is high NDV?
PR needs rebase. 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 kubernetes/test-infra repository. |
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
f1a6ed0
to
ae68073
Compare
PR needs rebase. 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 kubernetes/test-infra repository. |
@hawkingrei: The following tests failed, say
Full PR test history. Your PR dashboard. 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 kubernetes/test-infra repository. I understand the commands that are listed here. |
What problem does this PR solve?
Issue Number: close #49180
Problem Summary:
What changed and how does it work?
Now, Analyze will take most of the time on the BuildHistAndTopN. BuildHistAndTopN has many unnecessary sort and compare with low NDV. so we can merge the same data then sort and compare. it will have better performance.
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.