PushdownFilter optimizations #21668
Conversation
8db87e3 to
7aee0a0
Compare
7aee0a0 to
6ce2a70
Compare
|
@joroKr21 If the direction is agreed by the reviewer you should combine the pr, I will be happy to help. |
- Add a hidden `Filter::new` constructor that skips type-checking - Less allocations, more modification of mutable plan nodes - Less cloning, use references when possible
6ce2a70 to
740cf2c
Compare
|
run benchmark sql_planner |
|
🤖 Criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing opt/pushdown-filter (740cf2c) to 3aefba7 (merge-base) diff File an issue against this benchmark runner |
|
show benchmark queue |
|
Hi @kumarUjjawal, you asked to view the benchmark queue (#21668 (comment)).
File an issue against this benchmark runner |
|
run benchmark push_down_filter |
|
🤖 Criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing opt/pushdown-filter (740cf2c) to 3aefba7 (merge-base) diff File an issue against this benchmark runner |
|
🤖 Criterion benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usagebase (merge-base)
branch
File an issue against this benchmark runner |
|
🤖 Criterion benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usagebase (merge-base)
branch
File an issue against this benchmark runner |
|
@joroKr21 The benchmarks are slower, can you investigate this. |
Which issue does this PR close?
try_uncheckedmore so I would adopt thatRationale for this change
What changes are included in this PR?
Filter::new_uncheckedconstructor that skips type-checkingAre these changes tested?
Relying on existing tests mostly, added a few more tests.
Are there any user-facing changes?
make_filteris removed, probably wasn't meant to be a public function.