Skip to content

Conversation

@Dandandan
Copy link
Contributor

Which issue does this PR close?

  • Closes #.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

adriangb and others added 18 commits January 4, 2026 15:58
This PR implements cross-file tracking of filter selectivity in ParquetSource
to adaptively reorder and demote low-selectivity filters. Filters that don't
filter enough rows (configurable, default 80% threshold) are demoted from
row-level pushdown to post-scan inline application, reducing I/O overhead.

Key changes:
- Add SelectivityTracker to track filter effectiveness across files
- ExprKey wrapper enables HashMap keying by PhysicalExpr structural equality
- Each ParquetOpener queries shared stats to partition filters into:
  - Row filters (push down): filters with effectiveness >= threshold or unknown
  - Post-scan filters: filters with effectiveness < threshold
- Post-scan filters are added to projection, applied inline in stream, then
  filter columns are removed from output
- SelectivityUpdatingStream updates tracker when stream completes
- build_row_filter_with_metrics() returns per-filter metrics for tracking
- Filters are reordered by observed effectiveness (most selective first)

Configuration:
- `parquet_options.filter_effectiveness_threshold` (default: 0.8)
- Effectiveness = 1 - (rows_matched / rows_total) = fraction filtered out

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Fix clippy error: Use datafusion_common::instant::Instant instead
  of std::time::Instant for WASM compatibility (opener.rs:706)

- Fix parquet test failures: Set filter_effectiveness_threshold to 0.0
  in test helper when pushdown_predicate is enabled. This ensures
  filters are pushed down immediately rather than waiting for adaptive
  selectivity learning.

- Fix filter_pushdown_view test: Disable pushdown_filters in test config
  so filters stay as FilterExec nodes rather than being pushed into
  the Parquet reader.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@Dandandan
Copy link
Contributor Author

run benchmark tpch

@github-actions github-actions bot added documentation Improvements or additions to documentation optimizer Optimizer rules core Core DataFusion crate sqllogictest SQL Logic Tests (.slt) common Related to common crate proto Related to proto crate datasource Changes to the datasource crate labels Jan 8, 2026
@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (b3397f3) to 955fd41 diff using: tpch
Results will be posted here when complete

@Dandandan
Copy link
Contributor Author

run benchmark tpch

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 198.77 ms │               197.82 ms │     no change │
│ QQuery 2     │  92.39 ms │                91.67 ms │     no change │
│ QQuery 3     │ 124.92 ms │               117.26 ms │ +1.07x faster │
│ QQuery 4     │  75.43 ms │                74.73 ms │     no change │
│ QQuery 5     │ 173.89 ms │               163.51 ms │ +1.06x faster │
│ QQuery 6     │  65.21 ms │                55.80 ms │ +1.17x faster │
│ QQuery 7     │ 205.40 ms │               202.43 ms │     no change │
│ QQuery 8     │ 158.90 ms │               156.69 ms │     no change │
│ QQuery 9     │ 223.72 ms │               209.95 ms │ +1.07x faster │
│ QQuery 10    │ 181.72 ms │               170.33 ms │ +1.07x faster │
│ QQuery 11    │  74.62 ms │                72.01 ms │     no change │
│ QQuery 12    │ 117.74 ms │               101.97 ms │ +1.15x faster │
│ QQuery 13    │ 204.49 ms │               206.26 ms │     no change │
│ QQuery 14    │  94.30 ms │                86.03 ms │ +1.10x faster │
│ QQuery 15    │ 117.63 ms │               117.23 ms │     no change │
│ QQuery 16    │  55.12 ms │                57.90 ms │  1.05x slower │
│ QQuery 17    │ 264.32 ms │               259.44 ms │     no change │
│ QQuery 18    │ 308.88 ms │               302.65 ms │     no change │
│ QQuery 19    │ 133.42 ms │               140.30 ms │  1.05x slower │
│ QQuery 20    │ 121.66 ms │               116.78 ms │     no change │
│ QQuery 21    │ 261.54 ms │               248.35 ms │ +1.05x faster │
│ QQuery 22    │  42.07 ms │                45.47 ms │  1.08x slower │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 3296.16ms │
│ Total Time (filter-pushdown-dynamic)   │ 3194.59ms │
│ Average Time (HEAD)                    │  149.83ms │
│ Average Time (filter-pushdown-dynamic) │  145.21ms │
│ Queries Faster                         │         8 │
│ Queries Slower                         │         3 │
│ Queries with No Change                 │        11 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

This reverts commit b3397f3.
This reverts commit 1439729.
@Dandandan
Copy link
Contributor Author

run benchmark tpch

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (84346da) to 955fd41 diff using: tpch
Results will be posted here when complete

@github-actions github-actions bot removed the optimizer Optimizer rules label Jan 8, 2026
@Dandandan
Copy link
Contributor Author

run benchmarks

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 196.39 ms │               185.35 ms │ +1.06x faster │
│ QQuery 2     │  91.41 ms │                91.84 ms │     no change │
│ QQuery 3     │ 126.99 ms │               116.90 ms │ +1.09x faster │
│ QQuery 4     │  75.53 ms │                79.40 ms │  1.05x slower │
│ QQuery 5     │ 175.73 ms │               167.45 ms │     no change │
│ QQuery 6     │  68.34 ms │                54.86 ms │ +1.25x faster │
│ QQuery 7     │ 208.42 ms │               203.87 ms │     no change │
│ QQuery 8     │ 166.04 ms │               157.52 ms │ +1.05x faster │
│ QQuery 9     │ 219.47 ms │               231.74 ms │  1.06x slower │
│ QQuery 10    │ 182.42 ms │               178.14 ms │     no change │
│ QQuery 11    │  74.84 ms │                69.98 ms │ +1.07x faster │
│ QQuery 12    │ 114.58 ms │               101.15 ms │ +1.13x faster │
│ QQuery 13    │ 220.98 ms │               210.44 ms │     no change │
│ QQuery 14    │  94.31 ms │                85.28 ms │ +1.11x faster │
│ QQuery 15    │ 118.66 ms │               117.96 ms │     no change │
│ QQuery 16    │  57.04 ms │                60.00 ms │  1.05x slower │
│ QQuery 17    │ 264.14 ms │               257.39 ms │     no change │
│ QQuery 18    │ 309.05 ms │               299.74 ms │     no change │
│ QQuery 19    │ 130.92 ms │               134.23 ms │     no change │
│ QQuery 20    │ 123.17 ms │               122.70 ms │     no change │
│ QQuery 21    │ 263.46 ms │               255.38 ms │     no change │
│ QQuery 22    │  43.96 ms │                60.60 ms │  1.38x slower │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 3325.83ms │
│ Total Time (filter-pushdown-dynamic)   │ 3241.89ms │
│ Average Time (HEAD)                    │  151.17ms │
│ Average Time (filter-pushdown-dynamic) │  147.36ms │
│ Queries Faster                         │         7 │
│ Queries Slower                         │         4 │
│ Queries with No Change                 │        11 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (84346da) to 955fd41 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@Dandandan
Copy link
Contributor Author

run benchmark tpch

@Dandandan
Copy link
Contributor Author

run benchmarks

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃       Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0     │  2423.30 ms │              2315.76 ms │    no change │
│ QQuery 1     │   918.91 ms │               950.08 ms │    no change │
│ QQuery 2     │  1870.93 ms │              1842.64 ms │    no change │
│ QQuery 3     │  1188.94 ms │              1177.09 ms │    no change │
│ QQuery 4     │  2274.68 ms │              2421.37 ms │ 1.06x slower │
│ QQuery 5     │ 28171.83 ms │             28620.77 ms │    no change │
│ QQuery 6     │  3997.07 ms │             10439.17 ms │ 2.61x slower │
│ QQuery 7     │  3482.57 ms │              3624.41 ms │    no change │
└──────────────┴─────────────┴─────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 44328.23ms │
│ Total Time (filter-pushdown-dynamic)   │ 51391.28ms │
│ Average Time (HEAD)                    │  5541.03ms │
│ Average Time (filter-pushdown-dynamic) │  6423.91ms │
│ Queries Faster                         │          0 │
│ Queries Slower                         │          2 │
│ Queries with No Change                 │          6 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃         Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0     │     1.38 ms │                 1.44 ms │      no change │
│ QQuery 1     │    54.12 ms │                50.63 ms │  +1.07x faster │
│ QQuery 2     │   153.22 ms │               129.42 ms │  +1.18x faster │
│ QQuery 3     │   146.03 ms │               152.12 ms │      no change │
│ QQuery 4     │  1004.97 ms │              1123.89 ms │   1.12x slower │
│ QQuery 5     │  1378.09 ms │              1415.76 ms │      no change │
│ QQuery 6     │     1.48 ms │                 1.45 ms │      no change │
│ QQuery 7     │    55.65 ms │                64.17 ms │   1.15x slower │
│ QQuery 8     │  1405.25 ms │              1517.76 ms │   1.08x slower │
│ QQuery 9     │  1805.10 ms │              1914.44 ms │   1.06x slower │
│ QQuery 10    │   354.27 ms │               405.41 ms │   1.14x slower │
│ QQuery 11    │   402.53 ms │               460.70 ms │   1.14x slower │
│ QQuery 12    │  1270.15 ms │              1292.68 ms │      no change │
│ QQuery 13    │  1968.79 ms │              1988.60 ms │      no change │
│ QQuery 14    │  1260.61 ms │              1297.86 ms │      no change │
│ QQuery 15    │  1244.14 ms │              1337.49 ms │   1.08x slower │
│ QQuery 16    │  2588.15 ms │              2580.32 ms │      no change │
│ QQuery 17    │  2588.32 ms │              2607.30 ms │      no change │
│ QQuery 18    │  5445.08 ms │              4978.49 ms │  +1.09x faster │
│ QQuery 19    │   119.30 ms │               142.64 ms │   1.20x slower │
│ QQuery 20    │  1882.59 ms │              1888.59 ms │      no change │
│ QQuery 21    │  2188.22 ms │              2472.95 ms │   1.13x slower │
│ QQuery 22    │  9973.12 ms │              3672.08 ms │  +2.72x faster │
│ QQuery 23    │ 42148.57 ms │              2250.56 ms │ +18.73x faster │
│ QQuery 24    │   215.25 ms │               162.84 ms │  +1.32x faster │
│ QQuery 25    │   465.68 ms │               487.08 ms │      no change │
│ QQuery 26    │   213.35 ms │               230.47 ms │   1.08x slower │
│ QQuery 27    │  2697.83 ms │              2540.69 ms │  +1.06x faster │
│ QQuery 28    │ 24009.65 ms │             24428.59 ms │      no change │
│ QQuery 29    │   967.56 ms │               957.86 ms │      no change │
│ QQuery 30    │  1302.07 ms │              1384.80 ms │   1.06x slower │
│ QQuery 31    │  1452.50 ms │              1449.13 ms │      no change │
│ QQuery 32    │  4697.28 ms │              4898.29 ms │      no change │
│ QQuery 33    │  5356.75 ms │              5417.19 ms │      no change │
│ QQuery 34    │  5445.60 ms │              5593.79 ms │      no change │
│ QQuery 35    │  1868.27 ms │              2009.36 ms │   1.08x slower │
│ QQuery 36    │    65.30 ms │                66.39 ms │      no change │
│ QQuery 37    │    45.83 ms │                32.60 ms │  +1.41x faster │
│ QQuery 38    │    65.85 ms │                77.73 ms │   1.18x slower │
│ QQuery 39    │   102.76 ms │               113.42 ms │   1.10x slower │
│ QQuery 40    │    24.98 ms │                43.48 ms │   1.74x slower │
│ QQuery 41    │    22.40 ms │                39.78 ms │   1.78x slower │
│ QQuery 42    │    19.42 ms │                35.40 ms │   1.82x slower │
└──────────────┴─────────────┴─────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 128477.45ms │
│ Total Time (filter-pushdown-dynamic)   │  83715.64ms │
│ Average Time (HEAD)                    │   2987.85ms │
│ Average Time (filter-pushdown-dynamic) │   1946.88ms │
│ Queries Faster                         │           8 │
│ Queries Slower                         │          17 │
│ Queries with No Change                 │          18 │
│ Queries with Failure                   │           0 │
└────────────────────────────────────────┴─────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 121.54 ms │               113.58 ms │ +1.07x faster │
│ QQuery 2     │  29.63 ms │                26.79 ms │ +1.11x faster │
│ QQuery 3     │  37.68 ms │                37.20 ms │     no change │
│ QQuery 4     │  29.21 ms │                28.66 ms │     no change │
│ QQuery 5     │  87.02 ms │                86.14 ms │     no change │
│ QQuery 6     │  19.68 ms │                19.51 ms │     no change │
│ QQuery 7     │ 215.57 ms │               213.76 ms │     no change │
│ QQuery 8     │  33.87 ms │                34.29 ms │     no change │
│ QQuery 9     │  95.49 ms │               103.23 ms │  1.08x slower │
│ QQuery 10    │  64.38 ms │                62.91 ms │     no change │
│ QQuery 11    │  18.01 ms │                18.49 ms │     no change │
│ QQuery 12    │  48.93 ms │                50.96 ms │     no change │
│ QQuery 13    │  48.78 ms │                45.96 ms │ +1.06x faster │
│ QQuery 14    │  15.14 ms │                13.76 ms │ +1.10x faster │
│ QQuery 15    │  24.40 ms │                24.12 ms │     no change │
│ QQuery 16    │  24.02 ms │                25.67 ms │  1.07x slower │
│ QQuery 17    │ 148.46 ms │               151.71 ms │     no change │
│ QQuery 18    │ 272.22 ms │               279.14 ms │     no change │
│ QQuery 19    │  35.94 ms │                37.25 ms │     no change │
│ QQuery 20    │  48.44 ms │                49.41 ms │     no change │
│ QQuery 21    │ 294.40 ms │               311.37 ms │  1.06x slower │
│ QQuery 22    │  17.50 ms │                23.60 ms │  1.35x slower │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 1730.32ms │
│ Total Time (filter-pushdown-dynamic)   │ 1757.52ms │
│ Average Time (HEAD)                    │   78.65ms │
│ Average Time (filter-pushdown-dynamic) │   79.89ms │
│ Queries Faster                         │         4 │
│ Queries Slower                         │         4 │
│ Queries with No Change                 │        14 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (1d46bdb) to 955fd41 diff using: tpch
Results will be posted here when complete

This reverts commit d26ceb0.
@Dandandan
Copy link
Contributor Author

run benchmark

@github-actions github-actions bot added the optimizer Optimizer rules label Jan 8, 2026
@alamb-ghbot
Copy link

🤖 Hi @Dandandan, thanks for the request (#19694 (comment)).

scrape_comments.py only supports whitelisted benchmarks.

  • Standard: clickbench_1, clickbench_extended, clickbench_partitioned, clickbench_pushdown, external_aggr, tpcds, tpch, tpch10, tpch_mem, tpch_mem10
  • Criterion: aggregate_query_sql, aggregate_vectorized, case_when, character_length, in_list, range_and_generate_series, sort, sql_planner, strpos, substr_index, with_hashes

Please choose one or more of these with run benchmark <name> or run benchmark <name1> <name2>...

@Dandandan
Copy link
Contributor Author

run benchmark tpch

@Dandandan
Copy link
Contributor Author

run benchmarks

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 198.34 ms │               186.73 ms │ +1.06x faster │
│ QQuery 2     │  99.30 ms │                92.08 ms │ +1.08x faster │
│ QQuery 3     │ 127.47 ms │               119.80 ms │ +1.06x faster │
│ QQuery 4     │  77.87 ms │                81.47 ms │     no change │
│ QQuery 5     │ 170.97 ms │               168.22 ms │     no change │
│ QQuery 6     │  68.24 ms │                57.94 ms │ +1.18x faster │
│ QQuery 7     │ 217.17 ms │               207.89 ms │     no change │
│ QQuery 8     │ 160.24 ms │               160.56 ms │     no change │
│ QQuery 9     │ 219.80 ms │               224.93 ms │     no change │
│ QQuery 10    │ 186.68 ms │               181.10 ms │     no change │
│ QQuery 11    │  74.33 ms │                71.38 ms │     no change │
│ QQuery 12    │ 118.01 ms │               104.69 ms │ +1.13x faster │
│ QQuery 13    │ 218.63 ms │               209.75 ms │     no change │
│ QQuery 14    │  94.12 ms │                87.85 ms │ +1.07x faster │
│ QQuery 15    │ 120.58 ms │               115.81 ms │     no change │
│ QQuery 16    │  56.60 ms │                58.46 ms │     no change │
│ QQuery 17    │ 269.83 ms │               276.53 ms │     no change │
│ QQuery 18    │ 317.33 ms │               307.73 ms │     no change │
│ QQuery 19    │ 134.61 ms │               137.69 ms │     no change │
│ QQuery 20    │ 126.79 ms │               121.13 ms │     no change │
│ QQuery 21    │ 264.65 ms │               255.95 ms │     no change │
│ QQuery 22    │  42.75 ms │                48.89 ms │  1.14x slower │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 3364.31ms │
│ Total Time (filter-pushdown-dynamic)   │ 3276.59ms │
│ Average Time (HEAD)                    │  152.92ms │
│ Average Time (filter-pushdown-dynamic) │  148.94ms │
│ Queries Faster                         │         6 │
│ Queries Slower                         │         1 │
│ Queries with No Change                 │        15 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (ee21698) to 955fd41 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@Dandandan Dandandan closed this Jan 8, 2026
@Dandandan Dandandan reopened this Jan 8, 2026
@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃       Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0     │  2417.07 ms │              2301.34 ms │    no change │
│ QQuery 1     │   940.45 ms │               955.96 ms │    no change │
│ QQuery 2     │  1877.42 ms │              1851.57 ms │    no change │
│ QQuery 3     │  1174.00 ms │              1182.11 ms │    no change │
│ QQuery 4     │  2275.27 ms │              2251.03 ms │    no change │
│ QQuery 5     │ 28277.78 ms │             28176.81 ms │    no change │
│ QQuery 6     │  3992.73 ms │             12663.63 ms │ 3.17x slower │
│ QQuery 7     │  3499.80 ms │              3526.86 ms │    no change │
└──────────────┴─────────────┴─────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 44454.54ms │
│ Total Time (filter-pushdown-dynamic)   │ 52909.30ms │
│ Average Time (HEAD)                    │  5556.82ms │
│ Average Time (filter-pushdown-dynamic) │  6613.66ms │
│ Queries Faster                         │          0 │
│ Queries Slower                         │          1 │
│ Queries with No Change                 │          7 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │     1.39 ms │                 1.42 ms │     no change │
│ QQuery 1     │    50.32 ms │                51.04 ms │     no change │
│ QQuery 2     │   138.24 ms │               137.18 ms │     no change │
│ QQuery 3     │   159.90 ms │               168.19 ms │  1.05x slower │
│ QQuery 4     │  1220.52 ms │              1048.09 ms │ +1.16x faster │
│ QQuery 5     │  1477.86 ms │              1460.28 ms │     no change │
│ QQuery 6     │     1.42 ms │                 1.45 ms │     no change │
│ QQuery 7     │    53.78 ms │                65.66 ms │  1.22x slower │
│ QQuery 8     │  1537.63 ms │              1427.94 ms │ +1.08x faster │
│ QQuery 9     │  1917.88 ms │              1828.25 ms │     no change │
│ QQuery 10    │   348.12 ms │               406.96 ms │  1.17x slower │
│ QQuery 11    │   396.89 ms │               457.46 ms │  1.15x slower │
│ QQuery 12    │  1423.32 ms │              1278.71 ms │ +1.11x faster │
│ QQuery 13    │  2054.04 ms │              1959.97 ms │     no change │
│ QQuery 14    │  1367.96 ms │              1262.13 ms │ +1.08x faster │
│ QQuery 15    │  1365.52 ms │              1217.58 ms │ +1.12x faster │
│ QQuery 16    │  2639.56 ms │              2582.88 ms │     no change │
│ QQuery 17    │  2628.69 ms │              2557.31 ms │     no change │
│ QQuery 18    │  5360.88 ms │              4985.12 ms │ +1.08x faster │
│ QQuery 19    │   123.64 ms │               133.86 ms │  1.08x slower │
│ QQuery 20    │  1917.12 ms │              1858.73 ms │     no change │
│ QQuery 21    │  2187.41 ms │              2423.21 ms │  1.11x slower │
│ QQuery 22    │  3777.69 ms │              3615.92 ms │     no change │
│ QQuery 23    │ 27130.03 ms │              6412.50 ms │ +4.23x faster │
│ QQuery 24    │   222.05 ms │               167.87 ms │ +1.32x faster │
│ QQuery 25    │   469.65 ms │               481.62 ms │     no change │
│ QQuery 26    │   225.41 ms │               238.00 ms │  1.06x slower │
│ QQuery 27    │  2754.51 ms │              2665.80 ms │     no change │
│ QQuery 28    │ 23847.07 ms │             24310.79 ms │     no change │
│ QQuery 29    │   969.68 ms │               965.72 ms │     no change │
│ QQuery 30    │  1376.21 ms │              1306.60 ms │ +1.05x faster │
│ QQuery 31    │  1454.57 ms │              1330.70 ms │ +1.09x faster │
│ QQuery 32    │  4845.39 ms │              4771.15 ms │     no change │
│ QQuery 33    │  5514.55 ms │              5634.93 ms │     no change │
│ QQuery 34    │  5672.89 ms │              5887.50 ms │     no change │
│ QQuery 35    │  2056.96 ms │              1910.64 ms │ +1.08x faster │
│ QQuery 36    │    65.09 ms │                77.45 ms │  1.19x slower │
│ QQuery 37    │    44.65 ms │                60.00 ms │  1.34x slower │
│ QQuery 38    │    66.56 ms │                78.38 ms │  1.18x slower │
│ QQuery 39    │   101.81 ms │               113.85 ms │  1.12x slower │
│ QQuery 40    │    28.04 ms │                39.27 ms │  1.40x slower │
│ QQuery 41    │    22.72 ms │                36.14 ms │  1.59x slower │
│ QQuery 42    │    18.47 ms │                34.33 ms │  1.86x slower │
└──────────────┴─────────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 109036.11ms │
│ Total Time (filter-pushdown-dynamic)   │  87452.58ms │
│ Average Time (HEAD)                    │   2535.72ms │
│ Average Time (filter-pushdown-dynamic) │   2033.78ms │
│ Queries Faster                         │          11 │
│ Queries Slower                         │          14 │
│ Queries with No Change                 │          18 │
│ Queries with Failure                   │           0 │
└────────────────────────────────────────┴─────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃       Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1     │ 125.01 ms │               126.26 ms │    no change │
│ QQuery 2     │  28.94 ms │                29.44 ms │    no change │
│ QQuery 3     │  32.75 ms │                38.28 ms │ 1.17x slower │
│ QQuery 4     │  28.96 ms │                28.56 ms │    no change │
│ QQuery 5     │  86.90 ms │                86.43 ms │    no change │
│ QQuery 6     │  19.62 ms │                20.18 ms │    no change │
│ QQuery 7     │ 218.18 ms │               219.88 ms │    no change │
│ QQuery 8     │  34.50 ms │                33.74 ms │    no change │
│ QQuery 9     │ 100.52 ms │                98.06 ms │    no change │
│ QQuery 10    │  65.40 ms │                62.43 ms │    no change │
│ QQuery 11    │  17.71 ms │                19.18 ms │ 1.08x slower │
│ QQuery 12    │  49.75 ms │                50.98 ms │    no change │
│ QQuery 13    │  47.73 ms │                48.60 ms │    no change │
│ QQuery 14    │  13.62 ms │                13.67 ms │    no change │
│ QQuery 15    │  24.18 ms │                25.02 ms │    no change │
│ QQuery 16    │  24.31 ms │                25.12 ms │    no change │
│ QQuery 17    │ 149.77 ms │               149.60 ms │    no change │
│ QQuery 18    │ 274.73 ms │               278.32 ms │    no change │
│ QQuery 19    │  37.51 ms │                39.04 ms │    no change │
│ QQuery 20    │  51.51 ms │                49.43 ms │    no change │
│ QQuery 21    │ 315.37 ms │               314.40 ms │    no change │
│ QQuery 22    │  17.34 ms │                17.04 ms │    no change │
└──────────────┴───────────┴─────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 1764.30ms │
│ Total Time (filter-pushdown-dynamic)   │ 1773.66ms │
│ Average Time (HEAD)                    │   80.20ms │
│ Average Time (filter-pushdown-dynamic) │   80.62ms │
│ Queries Faster                         │         0 │
│ Queries Slower                         │         2 │
│ Queries with No Change                 │        20 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (ee21698) to 955fd41 diff using: tpch
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 199.23 ms │               202.29 ms │     no change │
│ QQuery 2     │  93.39 ms │                90.82 ms │     no change │
│ QQuery 3     │ 126.10 ms │               121.08 ms │     no change │
│ QQuery 4     │  77.49 ms │                75.17 ms │     no change │
│ QQuery 5     │ 178.08 ms │               165.20 ms │ +1.08x faster │
│ QQuery 6     │  62.63 ms │                57.61 ms │ +1.09x faster │
│ QQuery 7     │ 215.73 ms │               203.37 ms │ +1.06x faster │
│ QQuery 8     │ 165.80 ms │               148.83 ms │ +1.11x faster │
│ QQuery 9     │ 222.78 ms │               218.58 ms │     no change │
│ QQuery 10    │ 182.94 ms │               175.67 ms │     no change │
│ QQuery 11    │  74.50 ms │                71.83 ms │     no change │
│ QQuery 12    │ 114.83 ms │               103.54 ms │ +1.11x faster │
│ QQuery 13    │ 217.16 ms │               212.69 ms │     no change │
│ QQuery 14    │  86.63 ms │                89.00 ms │     no change │
│ QQuery 15    │ 123.87 ms │               116.52 ms │ +1.06x faster │
│ QQuery 16    │  56.35 ms │                58.31 ms │     no change │
│ QQuery 17    │ 270.29 ms │               269.56 ms │     no change │
│ QQuery 18    │ 314.00 ms │               306.48 ms │     no change │
│ QQuery 19    │ 130.47 ms │               138.61 ms │  1.06x slower │
│ QQuery 20    │ 125.41 ms │               121.21 ms │     no change │
│ QQuery 21    │ 263.27 ms │               256.34 ms │     no change │
│ QQuery 22    │  42.95 ms │                49.44 ms │  1.15x slower │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 3343.91ms │
│ Total Time (filter-pushdown-dynamic)   │ 3252.14ms │
│ Average Time (HEAD)                    │  152.00ms │
│ Average Time (filter-pushdown-dynamic) │  147.82ms │
│ Queries Faster                         │         6 │
│ Queries Slower                         │         2 │
│ Queries with No Change                 │        14 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh gh_compare_branch.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing filter-pushdown-dynamic (ee21698) to 955fd41 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and filter-pushdown-dynamic
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │  2430.08 ms │              2377.58 ms │     no change │
│ QQuery 1     │   954.84 ms │               976.15 ms │     no change │
│ QQuery 2     │  1897.04 ms │              1944.78 ms │     no change │
│ QQuery 3     │  1171.30 ms │              1157.44 ms │     no change │
│ QQuery 4     │  2301.17 ms │              2254.52 ms │     no change │
│ QQuery 5     │ 28160.15 ms │             28119.60 ms │     no change │
│ QQuery 6     │  4006.12 ms │             12493.55 ms │  3.12x slower │
│ QQuery 7     │  3831.49 ms │              3487.25 ms │ +1.10x faster │
└──────────────┴─────────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 44752.19ms │
│ Total Time (filter-pushdown-dynamic)   │ 52810.87ms │
│ Average Time (HEAD)                    │  5594.02ms │
│ Average Time (filter-pushdown-dynamic) │  6601.36ms │
│ Queries Faster                         │          1 │
│ Queries Slower                         │          1 │
│ Queries with No Change                 │          6 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │     1.41 ms │                 1.43 ms │     no change │
│ QQuery 1     │    48.69 ms │                53.55 ms │  1.10x slower │
│ QQuery 2     │   135.06 ms │               138.89 ms │     no change │
│ QQuery 3     │   150.54 ms │               159.59 ms │  1.06x slower │
│ QQuery 4     │  1138.57 ms │              1166.35 ms │     no change │
│ QQuery 5     │  1402.54 ms │              1538.38 ms │  1.10x slower │
│ QQuery 6     │     1.42 ms │                 1.45 ms │     no change │
│ QQuery 7     │    53.90 ms │                67.98 ms │  1.26x slower │
│ QQuery 8     │  1479.60 ms │              1520.88 ms │     no change │
│ QQuery 9     │  1897.06 ms │              1910.44 ms │     no change │
│ QQuery 10    │   343.65 ms │               411.45 ms │  1.20x slower │
│ QQuery 11    │   399.79 ms │               455.11 ms │  1.14x slower │
│ QQuery 12    │  1355.75 ms │              1334.32 ms │     no change │
│ QQuery 13    │  1949.48 ms │              1999.99 ms │     no change │
│ QQuery 14    │  1287.64 ms │              1291.07 ms │     no change │
│ QQuery 15    │  1275.01 ms │              1326.48 ms │     no change │
│ QQuery 16    │  2653.11 ms │              2649.80 ms │     no change │
│ QQuery 17    │  2573.44 ms │              2659.58 ms │     no change │
│ QQuery 18    │  5299.39 ms │              5042.27 ms │     no change │
│ QQuery 19    │   122.79 ms │               137.99 ms │  1.12x slower │
│ QQuery 20    │  1905.41 ms │              1869.00 ms │     no change │
│ QQuery 21    │  2196.71 ms │              2459.28 ms │  1.12x slower │
│ QQuery 22    │  3795.95 ms │              3658.94 ms │     no change │
│ QQuery 23    │ 19553.03 ms │              6427.48 ms │ +3.04x faster │
│ QQuery 24    │   213.30 ms │               174.06 ms │ +1.23x faster │
│ QQuery 25    │   471.78 ms │               485.43 ms │     no change │
│ QQuery 26    │   213.27 ms │               237.84 ms │  1.12x slower │
│ QQuery 27    │  2775.06 ms │              2703.06 ms │     no change │
│ QQuery 28    │ 23629.79 ms │             24270.79 ms │     no change │
│ QQuery 29    │   939.60 ms │               954.11 ms │     no change │
│ QQuery 30    │  1390.31 ms │              1355.31 ms │     no change │
│ QQuery 31    │  1365.82 ms │              1366.68 ms │     no change │
│ QQuery 32    │  5544.42 ms │              5193.48 ms │ +1.07x faster │
│ QQuery 33    │  5634.03 ms │              5823.09 ms │     no change │
│ QQuery 34    │  5941.46 ms │              5953.31 ms │     no change │
│ QQuery 35    │  1991.65 ms │              1935.53 ms │     no change │
│ QQuery 36    │    67.93 ms │                75.87 ms │  1.12x slower │
│ QQuery 37    │    44.27 ms │                61.34 ms │  1.39x slower │
│ QQuery 38    │    67.09 ms │                80.02 ms │  1.19x slower │
│ QQuery 39    │   106.43 ms │               116.89 ms │  1.10x slower │
│ QQuery 40    │    25.81 ms │                40.85 ms │  1.58x slower │
│ QQuery 41    │    21.31 ms │                36.31 ms │  1.70x slower │
│ QQuery 42    │    19.45 ms │                34.28 ms │  1.76x slower │
└──────────────┴─────────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 101482.73ms │
│ Total Time (filter-pushdown-dynamic)   │  89179.98ms │
│ Average Time (HEAD)                    │   2360.06ms │
│ Average Time (filter-pushdown-dynamic) │   2073.95ms │
│ Queries Faster                         │           3 │
│ Queries Slower                         │          16 │
│ Queries with No Change                 │          24 │
│ Queries with Failure                   │           0 │
└────────────────────────────────────────┴─────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ filter-pushdown-dynamic ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 123.04 ms │               125.67 ms │     no change │
│ QQuery 2     │  29.08 ms │                29.34 ms │     no change │
│ QQuery 3     │  33.36 ms │                33.75 ms │     no change │
│ QQuery 4     │  29.60 ms │                28.79 ms │     no change │
│ QQuery 5     │  86.85 ms │                86.91 ms │     no change │
│ QQuery 6     │  19.77 ms │                19.88 ms │     no change │
│ QQuery 7     │ 237.35 ms │               216.02 ms │ +1.10x faster │
│ QQuery 8     │  35.29 ms │                35.14 ms │     no change │
│ QQuery 9     │  99.05 ms │               109.61 ms │  1.11x slower │
│ QQuery 10    │  62.57 ms │                63.12 ms │     no change │
│ QQuery 11    │  17.41 ms │                18.46 ms │  1.06x slower │
│ QQuery 12    │  50.18 ms │                51.84 ms │     no change │
│ QQuery 13    │  47.38 ms │                47.83 ms │     no change │
│ QQuery 14    │  13.41 ms │                13.84 ms │     no change │
│ QQuery 15    │  24.25 ms │                24.34 ms │     no change │
│ QQuery 16    │  24.23 ms │                23.93 ms │     no change │
│ QQuery 17    │ 145.86 ms │               148.94 ms │     no change │
│ QQuery 18    │ 275.86 ms │               277.69 ms │     no change │
│ QQuery 19    │  36.14 ms │                39.29 ms │  1.09x slower │
│ QQuery 20    │  49.05 ms │                49.63 ms │     no change │
│ QQuery 21    │ 324.32 ms │               287.78 ms │ +1.13x faster │
│ QQuery 22    │  18.11 ms │                17.20 ms │ +1.05x faster │
└──────────────┴───────────┴─────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 1782.16ms │
│ Total Time (filter-pushdown-dynamic)   │ 1749.00ms │
│ Average Time (HEAD)                    │   81.01ms │
│ Average Time (filter-pushdown-dynamic) │   79.50ms │
│ Queries Faster                         │         3 │
│ Queries Slower                         │         3 │
│ Queries with No Change                 │        16 │
│ Queries with Failure                   │         0 │
└────────────────────────────────────────┴───────────┘

@Dandandan Dandandan closed this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

common Related to common crate core Core DataFusion crate datasource Changes to the datasource crate documentation Improvements or additions to documentation optimizer Optimizer rules proto Related to proto crate sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants