-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
[refine](rf) Adjust the calculation logic for rf's always_true. #41477
base: master
Are you sure you want to change the base?
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
TeamCity be ut coverage result: |
run buildall |
TPC-H: Total hot run time: 40965 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 192403 ms
|
ClickBench: Total hot run time: 33.21 s
|
@@ -72,34 +72,58 @@ class VRuntimeFilterWrapper final : public VExpr { | |||
_always_true_counter = always_true_counter; | |||
} | |||
|
|||
template <typename T, typename TT> | |||
void update_counters(int64_t filter_rows, int64_t input_rows) { | |||
if (_expr_filtered_rows_counter) { |
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.
what cast the counter is nullptr
3e49928
to
d86c1b5
Compare
run buildall |
TPC-H: Total hot run time: 41471 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 193117 ms
|
ClickBench: Total hot run time: 32.74 s
|
run external |
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
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
run buildall |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 41103 ms
|
TPC-DS: Total hot run time: 191891 ms
|
ClickBench: Total hot run time: 32.82 s
|
run buildall |
TeamCity be ut coverage result: |
TPC-H: Total hot run time: 42633 ms
|
TPC-DS: Total hot run time: 192631 ms
|
run p0 |
ClickBench: Total hot run time: 33.2 s
|
run external |
d86c1b5
to
6caf134
Compare
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
TeamCity be ut coverage result: |
run p0 |
run buildall |
TeamCity be ut coverage result: |
Proposed changes
Adjust the calculation logic for rf's always_true.
The previous approach was to sample one block and determine whether the always_true logic
would be applied for the subsequent 64 blocks.
The new approach divides the execution into independent periods of 64 blocks each.
At the beginning of each period, the filter rate is accumulated. If always_true is determined,
the remaining blocks in that period will follow the always_true logic.