Skip to content

Adaptive (runtime, stats-based) conjunct reordering for FilterExec - #22698

Open
adriangb wants to merge 18 commits into
apache:mainfrom
pydantic:lift-selectivity-stats
Open

Adaptive (runtime, stats-based) conjunct reordering for FilterExec#22698
adriangb wants to merge 18 commits into
apache:mainfrom
pydantic:lift-selectivity-stats

Conversation

@adriangb

@adriangb adriangb commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

Predicate evaluation order matters: a selective conjunct run first gates the
work of the conjuncts after it. Two mechanisms already order and gate
conjuncts, and both decide statically:

  • the logical optimizer sorts conjuncts cheap-before-expensive by a static
    cost class (perf: Reorder predicates in conjuncts via simple heuristic #22343). It is blind to selectivity, so a cheap-but-unselective
    conjunct still sorts ahead of an expensive-but-very-selective one, and
    conjuncts within one class keep their written order;
  • BinaryExpr's AND pre-selects: when the conjuncts evaluated so far keep
    at most 20% of rows (and produce no nulls) it filters the batch before
    evaluating the next one. It cannot gate a conjunct on a more selective one
    written after it.

This PR adds runtime, statistics-based reordering for FilterExec: each
conjunct's selectivity and per-row cost are measured on the rows that reach
it, the conjuncts are ranked by rows discarded per nanosecond, and the ranking
is adopted only if it is materially cheaper than the written order. Once
adopted, the learned order is materialised once as an ordinary AND chain and
evaluated by BinaryExpr like any other predicate. The module contains no
conjunction-evaluation logic of its own on any path; it only measures, ranks,
and builds the chain. It is off by default
(datafusion.execution.adaptive_filter_reordering).

What changes are included in this PR?

Everything lives in a new private module
datafusion/physical-plan/src/adaptive_filter.rs; FilterExec gains a shared
per-execution state field, a metric, and a two-arm match in the stream poll
loop.

  • Warm-up: for 8 batches (pooled across all partition streams of the
    operator) the written order is evaluated by BinaryExpr as a right-nested
    AND chain in which each conjunct is wrapped in a small measuring
    expression that records rows seen, rows passed and time. BinaryExpr's
    pre-selection does the compaction, so each conjunct is measured on exactly
    the rows BinaryExpr hands it. The wrappers disappear once the order is
    settled.
  • Settle: rank by (1 - pass_rate) / cost_per_row; adopt the ranking only
    if its expected cost is at least 5% below the written order's. If not, the
    written predicate is evaluated unchanged, exactly as with the flag off.
  • Adopted order as a right-nested AND: the learned order is built once
    as c1 AND (c2 AND (... AND cn)) and handed to BinaryExpr. Right-nesting
    is what makes this work: BinaryExpr pre-selection filters the batch it is
    given, so the survivors of the first conjunct stay compacted through the rest
    of the chain. A left-nested chain (what conjunction() builds) re-filters the
    original batch and scatters back at every level; see the measurements below.
  • Metric: adaptive_reorders on FilterExec (per partition, only present
    when the flag is on) shows in EXPLAIN ANALYZE whether a reorder was
    adopted.
  • Safety rails: volatile predicates are never reordered; reset_state
    gives re-executions fresh measurements; predicate rewrites reset the pooled
    state; results are order-independent.
  • Config flag plus regenerated configs.md / information_schema.
  • Two new predicate_eval benchmark shapes (expensive-selective-first, and
    k8 over 64 columns).

Known limitations (documented in the module): measurements are
conditional on the written order, so correlated conjuncts can be misjudged;
the settle is one-shot with no drift re-measurement; the settle cost model
does not yet include evaluation overhead, so on very cheap predicates a
reorder can be adopted that buys nothing (see k4 below).

Measurements behind the settled-path design

Same binary, settled path selected by an environment switch, 8 interleaved
rounds × 40 iterations on predicate_eval, ratios of medians. A = flag off,
B = a dedicated compact-once evaluation loop (an earlier revision of this PR),
C = learned order rebuilt as a left-nested AND, D = learned order rebuilt as
a right-nested AND (this PR).

query B/A C/A D/A
costsel_q01 (5 regexps, selective last) 0.40 0.41 0.41
width q40 / q41 / q42 0.39 / 0.41 / 0.33 0.39 / 0.40 / 0.33 0.39 / 0.40 / 0.33
cardinality k2 / k4 / k8 1.01 / 1.01 / 1.03 0.98 / 1.19 / 1.37 0.98 / 1.13 / 1.04
cardinality k16 0.69 0.98 0.71
q02, q03 (already optimal) 1.00 1.01–1.03 0.99–1.02

The right-nested rebuild matches the dedicated loop everywhere except a
~10% residual on the 0.6 ms k4 query, which is evaluator fixed cost on a
reorder that buys nothing there; tightening the settle guard to account for
evaluation overhead is a follow-up.

tpch_sf10 (same binary, flag off → on): Q6 1.19× faster, Q12 1.45× faster,
all other queries unchanged; tpcds_sf1 and clickbench neutral within the A/A
noise floor. See the bot runs in the PR comments.

Are these changes tested?

  • Unit tests for ranking, cost model, warm-up boundary, cross-stream pooling,
    the right-nested shape of the rebuilt chain, the metric transition, lazy
    pool init, and both directions of the fallible-predicate side effect (an
    adopted reorder can introduce or avoid a divide-by-zero).
  • An end-to-end flag-on FilterExec test (4 partitions, nullable column,
    repeated execution with and without reset_state).
  • adaptive_filter.slt: results identical on and off, EXPLAIN identical on
    and off, and an EXPLAIN ANALYZE assertion that adaptive_reorders fires
    on a predicate written selective-last.

Are there any user-facing changes?

One new config option, datafusion.execution.adaptive_filter_reordering
(experimental, default false), and one new FilterExec metric,
adaptive_reorders. When enabled, query results never change, but the
observable side effects of fallible predicates can, in either direction:
reordering b <> 0 AND 1/b > 2 can make a divide-by-zero error appear or
disappear. Predicates containing volatile expressions are never reordered.

@github-actions github-actions Bot added documentation Improvements or additions to documentation physical-expr Changes to the physical-expr crates sqllogictest SQL Logic Tests (.slt) common Related to common crate physical-plan Changes to the physical-plan crate labels Jun 1, 2026
@adriangb

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

Thank you for opening this pull request!

Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).

Details
     Cloning apache/main
    Building datafusion-common v55.0.0 (current)
       Built [  37.169s] (current)
     Parsing datafusion-common v55.0.0 (current)
      Parsed [   0.068s] (current)
    Building datafusion-common v55.0.0 (baseline)
       Built [  37.165s] (baseline)
     Parsing datafusion-common v55.0.0 (baseline)
      Parsed [   0.067s] (baseline)
    Checking datafusion-common v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.940s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ExecutionOptions.adaptive_filter_reordering in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:894

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  77.816s] datafusion-common
    Building datafusion-physical-plan v55.0.0 (current)
       Built [  40.185s] (current)
     Parsing datafusion-physical-plan v55.0.0 (current)
      Parsed [   0.174s] (current)
    Building datafusion-physical-plan v55.0.0 (baseline)
       Built [  40.037s] (baseline)
     Parsing datafusion-physical-plan v55.0.0 (baseline)
      Parsed [   0.168s] (baseline)
    Checking datafusion-physical-plan v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.986s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [  83.068s] datafusion-physical-plan
    Building datafusion-sqllogictest v55.0.0 (current)
       Built [ 105.134s] (current)
     Parsing datafusion-sqllogictest v55.0.0 (current)
      Parsed [   0.024s] (current)
    Building datafusion-sqllogictest v55.0.0 (baseline)
       Built [ 103.546s] (baseline)
     Parsing datafusion-sqllogictest v55.0.0 (baseline)
      Parsed [   0.025s] (baseline)
    Checking datafusion-sqllogictest v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.120s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [ 211.595s] datafusion-sqllogictest

@github-actions github-actions Bot added the auto detected api change Auto detected API change label Jun 1, 2026
@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangb

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangb

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangbot

This comment has been minimized.

@adriangb
adriangb force-pushed the lift-selectivity-stats branch 3 times, most recently from a24471d to 4d7b733 Compare June 2, 2026 02:29
@adriangbot

Copy link
Copy Markdown

Benchmark for this request failed before finishing (Kubernetes reason: BackoffLimitExceeded).

Benchmarks requested: predicate_eval

Runner log (last 40 lines)
2026-09-07T04:40:29.653756Z  INFO runner starting benchmark runner bench_type=Datafusion, pr_url=https://github.com/apache/datafusion/pull/22698, benchmarks=predicate_eval
2026-09-07T04:40:29.710071Z  INFO benchmark_controller::runner::bench_datafusion === Cloning PR branch ===
2026-09-07T04:40:29.710190Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/datafusion.git", "/workspace/datafusion-branch"], cwd="/"
2026-09-07T04:40:34.743236Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/22698/head:lift-selectivity-stats", "main"], cwd="/workspace/datafusion-branch"
2026-09-07T04:40:39.744651Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "lift-selectivity-stats"], cwd="/workspace/datafusion-branch"
2026-09-07T04:40:44.746576Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/datafusion-branch"
2026-09-07T04:40:49.748311Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom changed ref === changed_ref=54a177f5de788ef7399f74f7da0e16f7221bb276
2026-09-07T04:40:49.748325Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/22698/head"], cwd="/workspace/datafusion-branch"
2026-09-07T04:40:54.750822Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-branch"
2026-09-07T04:40:59.752768Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "54a177f5de788ef7399f74f7da0e16f7221bb276"], cwd="/workspace/datafusion-branch"
2026-09-07T04:41:04.754445Z  INFO benchmark_controller::runner::bench_datafusion === Cloning merge-base ===
2026-09-07T04:41:04.754464Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/datafusion.git", "/workspace/datafusion-base"], cwd="/"
2026-09-07T04:41:09.756988Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom baseline ref === baseline_ref=54a177f5de788ef7399f74f7da0e16f7221bb276
2026-09-07T04:41:09.757004Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/22698/head"], cwd="/workspace/datafusion-base"
2026-09-07T04:41:14.758898Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-base"
2026-09-07T04:41:19.761793Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "54a177f5de788ef7399f74f7da0e16f7221bb276"], cwd="/workspace/datafusion-base"
2026-09-07T04:41:24.763477Z  INFO benchmark_controller::runner::shell running command cmd=rustc, args=["--version"], cwd="/"
2026-09-07T04:41:29.765828Z  INFO benchmark_controller::runner::shell running command cmd=cargo, args=["metadata", "--no-deps", "--format-version", "1"], cwd="/workspace/datafusion-branch/benchmarks"
2026-09-07T04:41:34.771585Z  INFO benchmark_controller::runner::bench_datafusion === Compiling dfbench for PR branch and merge-base in parallel ===
2026-09-07T04:41:34.799860Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["rev-parse", "HEAD"], cwd="/workspace/datafusion-branch"
2026-09-07T04:41:39.809154Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["rev-parse", "HEAD"], cwd="/workspace/datafusion-base"
2026-09-07T04:41:44.817339Z  INFO benchmark_controller::runner::controller_client post_comment _repo=apache/datafusion, _pr_number=22698, job_id=2184
2026-09-07T04:41:45.549391Z  INFO benchmark_controller::runner::bench_datafusion === Waiting for builds ===
2026-09-07T04:51:16.098177Z  INFO benchmark_controller::runner::bench_datafusion === Builds complete ===
2026-09-07T04:51:16.098193Z  INFO benchmark_controller::runner::bench_datafusion === Setting up bench runner ===
2026-09-07T04:51:16.098202Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/datafusion.git", "/workspace/datafusion-bench"], cwd="/"
2026-09-07T04:51:21.101000Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "origin/main"], cwd="/workspace/datafusion-bench"
2026-09-07T04:51:26.103241Z  INFO benchmark_controller::runner::shell running command cmd=cp, args=["-r", "/data/tpch-answers/.", "/workspace/datafusion-bench/benchmarks/data/tpch_sf1/answers"], cwd="/"
2026-09-07T04:51:31.106334Z  INFO benchmark_controller::runner::shell running command cmd=cp, args=["-r", "/data/tpch-answers/.", "/workspace/datafusion-bench/benchmarks/data/tpch_sf10/answers"], cwd="/"
2026-09-07T04:51:36.108265Z  INFO benchmark_controller::runner::bench_datafusion ** Creating data if needed for predicate_eval **
2026-09-07T04:51:36.108843Z  INFO benchmark_controller::runner::shell running command cmd=/scripts/cache_data.sh, args=["predicate_eval", "/workspace/datafusion-bench/benchmarks"], cwd="/workspace/datafusion-bench/benchmarks"
2026-09-07T04:51:41.110483Z  INFO benchmark_controller::runner::bench_datafusion ** Running predicate_eval baseline **
2026-09-07T04:51:41.110594Z  INFO benchmark_controller::runner::shell running command (monitored) cmd=env, args=["DATAFUSION_DIR=/workspace/datafusion-base", "RESULTS_NAME=HEAD", "DATAFUSION_RUNTIME_TEMP_DIRECTORY=/workspace/spill-base-predicate_eval", "SQL_CARGO_COMMAND=cargo bench --bench sql -- --save-baseline HEAD", "DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING=false", "./bench.sh", "run", "predicate_eval"], cwd="/workspace/datafusion-bench/benchmarks"
Kubernetes message
Job has reached the specified backoff limit

File an issue against this benchmark runner

Documentation-only pass over the adaptive filter, applying alamb's review
nits and correcting the stated baseline.

- Module doc: describe what conjunct evaluation already does today —
  `reorder_predicates` orders conjuncts cheap-before-expensive by a static
  cost class, and `BinaryExpr`'s `AND` pre-selects when the conjuncts so far
  keep <= 20% of the rows and produce no nulls. Spell out what pre-selection
  cannot do (gate on a later conjunct, fire through nulls, carry survivors
  compacted across a nested chain) instead of claiming the `AND` evaluates
  every conjunct on every row regardless of order.
- Add an intra-doc link to `BinaryExpr`, drop the "left-deep fused" jargon,
  expand the `regexp_like` example into a before/after evaluation order, and
  leave the flag's default value documented on the flag itself.
- Drop the unsupported "compact-once is itself a win even without
  reordering" claim; point at the PR for the measurements rather than
  quoting numbers.
- Fold the side-effect caveat, the conditional-statistics caveat and the
  one-shot caveat into a single "Known limitations" list instead of
  repeating them across the module; settle on one vocabulary (a decision is
  *settled*, a stream *adopts* it) and remove the leftover "publishes",
  "frozen" and "A/B-validated" wording.
- Config doc: shorter, and the side-effect caveat is now bidirectional (a
  divide-by-zero can appear *or* disappear).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark predicate_eval

env:
CARGO_BUILD_JOBS: "1"
baseline:
ref: 54a177f
env:
DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
ref: 54a177f
env:
DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5565711613-2188-xq7dr 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 54a177f (54a177f) to 54a177f diff

Run configuration
run benchmark predicate_eval
env:
  CARGO_BUILD_JOBS: "1"
baseline:
  ref: "54a177f5de788ef7399f74f7da0e16f7221bb276"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "54a177f5de788ef7399f74f7da0e16f7221bb276"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

Results will be posted here when complete


File an issue against this benchmark runner

adriangb and others added 2 commits September 7, 2026 01:03
… AND

Once the warm-up adopts a reorder, materialise the learned order once as a
right-nested `AND` chain, `(c_first AND (c_second AND (... AND c_last)))`,
and let `BinaryExpr` evaluate it like any other predicate, instead of
running the settled path through the per-conjunct compact-once loop.

Right-nesting is what makes this cheap: `BinaryExpr`'s pre-selection filters
the batch it is handed before evaluating its right-hand side, so the
survivors of the first (most selective) conjunct stay compacted for the
entire remainder of the chain. A left-nested chain -- what `conjunction()`
builds -- re-filters the original batch and scatters at every level, which
measures materially slower than the flag off on cheap 4-8 conjunct
predicates; right-nested is within noise of the compact-once loop.

The measuring path keeps the per-conjunct loop with compaction: it has to
time each conjunct on exactly the rows that reach it. `Settled` now carries
the expression to evaluate alongside the order, and `settle` builds it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… of a private evaluation loop

The warm-up used to walk the conjuncts itself: a private `eval_conjuncts`
loop that AND-ed the masks, compacted the working batch past its own
selectivity threshold, tracked live row indices and scattered the result
back to full length. That was a second conjunction-evaluation engine
living next to `BinaryExpr`'s, with its own compaction policy to keep in
step and its own null and index handling to get right.

Delete it. Each conjunct is now wrapped in a small measuring
`PhysicalExpr` that times the call and counts the rows it was handed and
the rows it kept, and the wrapped conjuncts are assembled into the
written order as the same right-nested `AND` chain the settled path
uses. `BinaryExpr` evaluates and pre-selects exactly as it would for the
plain predicate, so the compaction is its own and every conjunct is
measured on precisely the rows it hands over. The wrapper returns the
conjunct's result unchanged, nulls included; three-valued logic stays
`BinaryExpr`'s business.

The module now holds no evaluation logic of its own on any path: stats
and the shared pool, the ranking and cost model, `settle` plus the
right-nested chain builder, the measuring wrapper, and the per-stream
glue.

Behaviour is unchanged where it was observable: the pooled counts for
the first measured batch are identical, both divide-by-zero side-effect
tests still hold (the warm-up's pre-selection keeps `1 / b` away from the
zeros exactly as the old loop's compaction did), and the sqllogictests
are unaffected.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Comment thread datafusion/physical-plan/src/filter.rs Outdated
…ith_adaptive_reorder_metrics

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark tpch10 clickbench_partitioned tpcds

baseline:
ref: 12c9a05
env:
DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
ref: 12c9a05
env:
DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark tpch10 clickbench_partitioned tpcds

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318428-2189-hd5xx 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark tpch10

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318428-2190-lndtm 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark clickbench_partitioned

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318428-2191-td69v 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark tpcds

Results will be posted here when complete


File an issue against this benchmark runner

@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

@alamb @xudong963 sorry for the delay on this. I've reworked so that there is no custom AND evaluator anymore, we now use BinaryExpr. Please take a look when you can!

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318199-2193-2ddt2 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark clickbench_partitioned
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318199-2192-wvvzt 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpch10
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

Results will be posted here when complete


File an issue against this benchmark runner

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark tpcds
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ lift-selectivity-stats ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.61 ms │                5.75 ms │    no change │
│ QQuery 2  │   80.10 ms │               79.29 ms │    no change │
│ QQuery 3  │   28.90 ms │               28.65 ms │    no change │
│ QQuery 4  │  476.29 ms │              480.25 ms │    no change │
│ QQuery 5  │   51.83 ms │               51.78 ms │    no change │
│ QQuery 6  │   35.89 ms │               35.43 ms │    no change │
│ QQuery 7  │   75.59 ms │               74.31 ms │    no change │
│ QQuery 8  │   36.51 ms │               36.32 ms │    no change │
│ QQuery 9  │   51.54 ms │               52.17 ms │    no change │
│ QQuery 10 │   62.66 ms │               62.25 ms │    no change │
│ QQuery 11 │  293.19 ms │              297.00 ms │    no change │
│ QQuery 12 │   28.52 ms │               28.44 ms │    no change │
│ QQuery 13 │  117.80 ms │              117.35 ms │    no change │
│ QQuery 14 │  416.60 ms │              416.06 ms │    no change │
│ QQuery 15 │   57.42 ms │               57.72 ms │    no change │
│ QQuery 16 │    6.90 ms │                6.80 ms │    no change │
│ QQuery 17 │   79.44 ms │               79.55 ms │    no change │
│ QQuery 18 │  105.25 ms │              103.48 ms │    no change │
│ QQuery 19 │   41.22 ms │               41.03 ms │    no change │
│ QQuery 20 │   35.41 ms │               35.36 ms │    no change │
│ QQuery 21 │   17.25 ms │               17.11 ms │    no change │
│ QQuery 22 │   62.95 ms │               62.64 ms │    no change │
│ QQuery 23 │  310.68 ms │              310.92 ms │    no change │
│ QQuery 24 │  195.01 ms │              194.65 ms │    no change │
│ QQuery 25 │  109.44 ms │              109.33 ms │    no change │
│ QQuery 26 │   48.51 ms │               48.22 ms │    no change │
│ QQuery 27 │    6.01 ms │                6.21 ms │    no change │
│ QQuery 28 │   56.22 ms │               60.03 ms │ 1.07x slower │
│ QQuery 29 │   97.73 ms │               97.27 ms │    no change │
│ QQuery 30 │   32.34 ms │               32.09 ms │    no change │
│ QQuery 31 │  110.93 ms │              110.56 ms │    no change │
│ QQuery 32 │   20.20 ms │               20.34 ms │    no change │
│ QQuery 33 │   37.55 ms │               38.09 ms │    no change │
│ QQuery 34 │    9.98 ms │               10.06 ms │    no change │
│ QQuery 35 │   72.39 ms │               71.98 ms │    no change │
│ QQuery 36 │    5.79 ms │                5.92 ms │    no change │
│ QQuery 37 │    6.81 ms │                6.92 ms │    no change │
│ QQuery 38 │   61.57 ms │               61.52 ms │    no change │
│ QQuery 39 │   90.21 ms │               89.84 ms │    no change │
│ QQuery 40 │   23.97 ms │               24.11 ms │    no change │
│ QQuery 41 │   11.09 ms │               11.42 ms │    no change │
│ QQuery 42 │   23.87 ms │               23.61 ms │    no change │
│ QQuery 43 │    5.46 ms │                5.48 ms │    no change │
│ QQuery 44 │    9.73 ms │                9.66 ms │    no change │
│ QQuery 45 │   39.50 ms │               38.81 ms │    no change │
│ QQuery 46 │   12.08 ms │               12.08 ms │    no change │
│ QQuery 47 │  223.09 ms │              224.35 ms │    no change │
│ QQuery 48 │   95.18 ms │               98.16 ms │    no change │
│ QQuery 49 │   71.43 ms │               71.12 ms │    no change │
│ QQuery 50 │   59.24 ms │               58.40 ms │    no change │
│ QQuery 51 │   93.73 ms │               90.94 ms │    no change │
│ QQuery 52 │   24.15 ms │               23.97 ms │    no change │
│ QQuery 53 │   29.18 ms │               29.01 ms │    no change │
│ QQuery 54 │   54.47 ms │               54.17 ms │    no change │
│ QQuery 55 │   23.47 ms │               23.15 ms │    no change │
│ QQuery 56 │   38.73 ms │               38.71 ms │    no change │
│ QQuery 57 │  175.34 ms │              175.97 ms │    no change │
│ QQuery 58 │  112.73 ms │              112.00 ms │    no change │
│ QQuery 59 │  117.77 ms │              116.06 ms │    no change │
│ QQuery 60 │   39.62 ms │               39.02 ms │    no change │
│ QQuery 61 │   12.38 ms │               12.38 ms │    no change │
│ QQuery 62 │   46.73 ms │               46.11 ms │    no change │
│ QQuery 63 │   29.16 ms │               28.81 ms │    no change │
│ QQuery 64 │  364.37 ms │              364.08 ms │    no change │
│ QQuery 65 │  124.86 ms │              123.81 ms │    no change │
│ QQuery 66 │   81.48 ms │               80.31 ms │    no change │
│ QQuery 67 │  239.63 ms │              238.44 ms │    no change │
│ QQuery 68 │   11.90 ms │               11.90 ms │    no change │
│ QQuery 69 │   57.24 ms │               56.60 ms │    no change │
│ QQuery 70 │  105.13 ms │              105.95 ms │    no change │
│ QQuery 71 │   35.32 ms │               34.84 ms │    no change │
│ QQuery 72 │ 1886.36 ms │             1833.50 ms │    no change │
│ QQuery 73 │    9.66 ms │                9.92 ms │    no change │
│ QQuery 74 │  168.91 ms │              168.69 ms │    no change │
│ QQuery 75 │  146.51 ms │              147.02 ms │    no change │
│ QQuery 76 │   35.56 ms │               35.08 ms │    no change │
│ QQuery 77 │   61.14 ms │               61.66 ms │    no change │
│ QQuery 78 │  221.13 ms │              223.38 ms │    no change │
│ QQuery 79 │   66.44 ms │               68.03 ms │    no change │
│ QQuery 80 │   99.49 ms │               99.56 ms │    no change │
│ QQuery 81 │   25.58 ms │               25.69 ms │    no change │
│ QQuery 82 │   16.06 ms │               16.18 ms │    no change │
│ QQuery 83 │   33.62 ms │               34.25 ms │    no change │
│ QQuery 84 │   29.46 ms │               29.25 ms │    no change │
│ QQuery 85 │  102.70 ms │              101.74 ms │    no change │
│ QQuery 86 │   25.05 ms │               24.75 ms │    no change │
│ QQuery 87 │   61.57 ms │               61.58 ms │    no change │
│ QQuery 88 │   63.48 ms │               64.15 ms │    no change │
│ QQuery 89 │   35.45 ms │               35.74 ms │    no change │
│ QQuery 90 │   16.86 ms │               16.88 ms │    no change │
│ QQuery 91 │   44.79 ms │               44.90 ms │    no change │
│ QQuery 92 │   28.90 ms │               29.09 ms │    no change │
│ QQuery 93 │   49.52 ms │               50.09 ms │    no change │
│ QQuery 94 │   38.39 ms │               38.16 ms │    no change │
│ QQuery 95 │   80.15 ms │               80.21 ms │    no change │
│ QQuery 96 │   23.82 ms │               23.92 ms │    no change │
│ QQuery 97 │   51.34 ms │               51.97 ms │    no change │
│ QQuery 98 │   42.52 ms │               42.31 ms │    no change │
│ QQuery 99 │   70.05 ms │               68.89 ms │    no change │
└───────────┴────────────┴────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 9364.77ms │
│ Total Time (lift-selectivity-stats)   │ 9312.69ms │
│ Average Time (HEAD)                   │   94.59ms │
│ Average Time (lift-selectivity-stats) │   94.07ms │
│ Queries Faster                        │         0 │
│ Queries Slower                        │         1 │
│ Queries with No Change                │        98 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.61 / 6.21 ±0.90 / 8.01 ms │           5.75 / 6.34 ±0.96 / 8.25 ms │     no change │
│ QQuery 2  │        80.10 / 80.87 ±0.45 / 81.45 ms │        79.29 / 79.91 ±0.45 / 80.57 ms │     no change │
│ QQuery 3  │        28.90 / 29.15 ±0.27 / 29.61 ms │        28.65 / 28.87 ±0.17 / 29.07 ms │     no change │
│ QQuery 4  │     476.29 / 482.02 ±3.42 / 486.29 ms │     480.25 / 482.86 ±1.78 / 485.01 ms │     no change │
│ QQuery 5  │        51.83 / 54.73 ±4.08 / 62.80 ms │        51.78 / 52.91 ±0.69 / 53.83 ms │     no change │
│ QQuery 6  │        35.89 / 36.75 ±0.73 / 37.91 ms │        35.43 / 36.31 ±0.62 / 37.08 ms │     no change │
│ QQuery 7  │        75.59 / 76.03 ±0.41 / 76.79 ms │        74.31 / 74.76 ±0.33 / 75.26 ms │     no change │
│ QQuery 8  │        36.51 / 37.92 ±2.24 / 42.39 ms │        36.32 / 36.54 ±0.23 / 36.97 ms │     no change │
│ QQuery 9  │        51.54 / 53.72 ±1.95 / 57.16 ms │        52.17 / 54.07 ±1.44 / 56.28 ms │     no change │
│ QQuery 10 │        62.66 / 63.15 ±0.28 / 63.50 ms │        62.25 / 62.41 ±0.13 / 62.56 ms │     no change │
│ QQuery 11 │     293.19 / 298.05 ±3.11 / 301.83 ms │     297.00 / 300.99 ±4.74 / 310.06 ms │     no change │
│ QQuery 12 │        28.52 / 29.18 ±0.61 / 30.25 ms │        28.44 / 28.72 ±0.18 / 29.01 ms │     no change │
│ QQuery 13 │     117.80 / 118.50 ±0.57 / 119.34 ms │     117.35 / 118.48 ±0.75 / 119.48 ms │     no change │
│ QQuery 14 │     416.60 / 419.91 ±2.70 / 423.24 ms │     416.06 / 419.10 ±1.83 / 421.24 ms │     no change │
│ QQuery 15 │        57.42 / 59.00 ±1.90 / 62.64 ms │        57.72 / 59.47 ±1.87 / 62.97 ms │     no change │
│ QQuery 16 │           6.90 / 7.09 ±0.21 / 7.49 ms │           6.80 / 6.96 ±0.17 / 7.28 ms │     no change │
│ QQuery 17 │        79.44 / 80.46 ±1.11 / 82.46 ms │        79.55 / 81.29 ±1.24 / 83.14 ms │     no change │
│ QQuery 18 │     105.25 / 107.17 ±2.05 / 110.79 ms │     103.48 / 104.63 ±1.16 / 106.75 ms │     no change │
│ QQuery 19 │        41.22 / 41.79 ±0.35 / 42.18 ms │        41.03 / 41.35 ±0.37 / 42.07 ms │     no change │
│ QQuery 20 │        35.41 / 35.78 ±0.37 / 36.45 ms │        35.36 / 35.69 ±0.40 / 36.46 ms │     no change │
│ QQuery 21 │        17.25 / 17.52 ±0.22 / 17.92 ms │        17.11 / 17.40 ±0.24 / 17.84 ms │     no change │
│ QQuery 22 │        62.95 / 63.51 ±0.49 / 64.26 ms │        62.64 / 65.49 ±3.68 / 72.73 ms │     no change │
│ QQuery 23 │     310.68 / 314.55 ±2.24 / 317.67 ms │     310.92 / 314.04 ±3.35 / 320.27 ms │     no change │
│ QQuery 24 │     195.01 / 197.88 ±3.76 / 205.31 ms │     194.65 / 197.56 ±3.60 / 204.59 ms │     no change │
│ QQuery 25 │     109.44 / 110.27 ±0.73 / 111.14 ms │     109.33 / 112.22 ±3.08 / 118.18 ms │     no change │
│ QQuery 26 │        48.51 / 49.03 ±0.27 / 49.27 ms │        48.22 / 48.60 ±0.31 / 49.01 ms │     no change │
│ QQuery 27 │           6.01 / 6.22 ±0.17 / 6.54 ms │           6.21 / 6.42 ±0.16 / 6.70 ms │     no change │
│ QQuery 28 │        56.22 / 59.75 ±1.77 / 60.88 ms │        60.03 / 60.81 ±0.43 / 61.23 ms │     no change │
│ QQuery 29 │      97.73 / 100.87 ±3.88 / 108.33 ms │       97.27 / 99.69 ±3.30 / 106.18 ms │     no change │
│ QQuery 30 │        32.34 / 32.50 ±0.18 / 32.77 ms │        32.09 / 32.45 ±0.48 / 33.38 ms │     no change │
│ QQuery 31 │     110.93 / 111.96 ±0.97 / 113.69 ms │     110.56 / 111.04 ±0.54 / 111.96 ms │     no change │
│ QQuery 32 │        20.20 / 20.59 ±0.30 / 20.98 ms │        20.34 / 20.61 ±0.20 / 20.95 ms │     no change │
│ QQuery 33 │        37.55 / 38.03 ±0.33 / 38.55 ms │        38.09 / 38.41 ±0.22 / 38.72 ms │     no change │
│ QQuery 34 │         9.98 / 10.34 ±0.39 / 11.09 ms │        10.06 / 10.28 ±0.22 / 10.70 ms │     no change │
│ QQuery 35 │        72.39 / 72.90 ±0.53 / 73.77 ms │        71.98 / 73.02 ±0.67 / 74.08 ms │     no change │
│ QQuery 36 │           5.79 / 5.91 ±0.17 / 6.24 ms │           5.92 / 6.04 ±0.17 / 6.37 ms │     no change │
│ QQuery 37 │           6.81 / 6.89 ±0.06 / 6.99 ms │           6.92 / 7.02 ±0.11 / 7.19 ms │     no change │
│ QQuery 38 │        61.57 / 63.72 ±1.79 / 66.94 ms │        61.52 / 62.88 ±0.91 / 64.30 ms │     no change │
│ QQuery 39 │        90.21 / 90.84 ±0.45 / 91.61 ms │        89.84 / 90.40 ±0.36 / 90.89 ms │     no change │
│ QQuery 40 │        23.97 / 24.34 ±0.27 / 24.69 ms │        24.11 / 24.17 ±0.06 / 24.28 ms │     no change │
│ QQuery 41 │        11.09 / 11.22 ±0.13 / 11.46 ms │        11.42 / 11.55 ±0.10 / 11.70 ms │     no change │
│ QQuery 42 │        23.87 / 24.42 ±0.40 / 25.10 ms │        23.61 / 24.21 ±0.76 / 25.67 ms │     no change │
│ QQuery 43 │           5.46 / 5.62 ±0.21 / 6.03 ms │           5.48 / 5.63 ±0.22 / 6.05 ms │     no change │
│ QQuery 44 │           9.73 / 9.87 ±0.07 / 9.95 ms │           9.66 / 9.79 ±0.12 / 9.97 ms │     no change │
│ QQuery 45 │        39.50 / 40.19 ±0.44 / 40.81 ms │        38.81 / 39.67 ±0.79 / 41.17 ms │     no change │
│ QQuery 46 │        12.08 / 12.64 ±0.39 / 13.26 ms │        12.08 / 12.73 ±0.47 / 13.31 ms │     no change │
│ QQuery 47 │     223.09 / 227.85 ±2.78 / 231.35 ms │     224.35 / 233.46 ±7.97 / 245.82 ms │     no change │
│ QQuery 48 │        95.18 / 96.27 ±0.67 / 96.98 ms │      98.16 / 100.00 ±1.86 / 103.32 ms │     no change │
│ QQuery 49 │        71.43 / 72.59 ±0.93 / 74.06 ms │        71.12 / 72.71 ±2.05 / 76.74 ms │     no change │
│ QQuery 50 │        59.24 / 60.50 ±1.38 / 63.19 ms │        58.40 / 59.07 ±0.53 / 59.84 ms │     no change │
│ QQuery 51 │        93.73 / 95.37 ±1.75 / 97.75 ms │        90.94 / 93.36 ±2.20 / 97.47 ms │     no change │
│ QQuery 52 │        24.15 / 24.53 ±0.40 / 25.19 ms │        23.97 / 24.26 ±0.19 / 24.50 ms │     no change │
│ QQuery 53 │        29.18 / 29.90 ±1.07 / 32.02 ms │        29.01 / 29.51 ±0.48 / 30.41 ms │     no change │
│ QQuery 54 │        54.47 / 54.99 ±0.35 / 55.51 ms │        54.17 / 54.41 ±0.18 / 54.64 ms │     no change │
│ QQuery 55 │        23.47 / 23.66 ±0.20 / 24.05 ms │        23.15 / 23.35 ±0.12 / 23.47 ms │     no change │
│ QQuery 56 │        38.73 / 39.09 ±0.24 / 39.41 ms │        38.71 / 39.27 ±0.28 / 39.49 ms │     no change │
│ QQuery 57 │     175.34 / 177.61 ±3.17 / 183.78 ms │     175.97 / 179.31 ±3.83 / 186.72 ms │     no change │
│ QQuery 58 │     112.73 / 114.15 ±1.28 / 116.51 ms │     112.00 / 113.88 ±1.74 / 116.57 ms │     no change │
│ QQuery 59 │     117.77 / 119.03 ±1.67 / 122.28 ms │     116.06 / 117.14 ±0.59 / 117.85 ms │     no change │
│ QQuery 60 │        39.62 / 40.17 ±0.42 / 40.76 ms │        39.02 / 39.85 ±0.75 / 40.79 ms │     no change │
│ QQuery 61 │        12.38 / 12.47 ±0.11 / 12.68 ms │        12.38 / 12.59 ±0.26 / 13.09 ms │     no change │
│ QQuery 62 │        46.73 / 47.26 ±0.59 / 48.16 ms │        46.11 / 46.69 ±0.58 / 47.71 ms │     no change │
│ QQuery 63 │        29.16 / 29.50 ±0.24 / 29.89 ms │        28.81 / 29.26 ±0.32 / 29.76 ms │     no change │
│ QQuery 64 │     364.37 / 368.10 ±2.95 / 372.05 ms │     364.08 / 369.81 ±4.55 / 375.23 ms │     no change │
│ QQuery 65 │     124.86 / 127.83 ±2.69 / 132.14 ms │     123.81 / 129.61 ±3.58 / 133.09 ms │     no change │
│ QQuery 66 │        81.48 / 82.77 ±1.43 / 85.52 ms │        80.31 / 82.24 ±1.49 / 84.86 ms │     no change │
│ QQuery 67 │     239.63 / 247.65 ±6.23 / 258.24 ms │     238.44 / 244.80 ±5.41 / 254.18 ms │     no change │
│ QQuery 68 │        11.90 / 12.15 ±0.17 / 12.43 ms │        11.90 / 12.08 ±0.23 / 12.52 ms │     no change │
│ QQuery 69 │        57.24 / 60.59 ±4.77 / 70.03 ms │        56.60 / 59.98 ±5.14 / 70.22 ms │     no change │
│ QQuery 70 │     105.13 / 108.97 ±3.58 / 114.39 ms │     105.95 / 108.63 ±2.93 / 114.14 ms │     no change │
│ QQuery 71 │        35.32 / 35.54 ±0.21 / 35.86 ms │        34.84 / 35.22 ±0.27 / 35.68 ms │     no change │
│ QQuery 72 │ 1886.36 / 1914.85 ±24.20 / 1955.72 ms │ 1833.50 / 1917.72 ±43.84 / 1954.48 ms │     no change │
│ QQuery 73 │         9.66 / 10.24 ±0.60 / 11.27 ms │         9.92 / 10.61 ±0.66 / 11.73 ms │     no change │
│ QQuery 74 │     168.91 / 170.95 ±1.48 / 172.64 ms │     168.69 / 171.31 ±2.20 / 175.07 ms │     no change │
│ QQuery 75 │     146.51 / 148.32 ±1.30 / 150.34 ms │    147.02 / 163.46 ±23.77 / 210.29 ms │  1.10x slower │
│ QQuery 76 │        35.56 / 35.97 ±0.43 / 36.81 ms │        35.08 / 35.67 ±0.69 / 36.97 ms │     no change │
│ QQuery 77 │        61.14 / 62.69 ±1.98 / 66.58 ms │        61.66 / 62.33 ±0.64 / 63.51 ms │     no change │
│ QQuery 78 │    221.13 / 229.67 ±10.61 / 249.59 ms │    223.38 / 231.18 ±10.93 / 252.76 ms │     no change │
│ QQuery 79 │        66.44 / 68.73 ±3.38 / 75.46 ms │        68.03 / 73.29 ±5.29 / 83.44 ms │  1.07x slower │
│ QQuery 80 │      99.49 / 100.59 ±0.84 / 101.55 ms │      99.56 / 102.68 ±2.88 / 107.90 ms │     no change │
│ QQuery 81 │        25.58 / 26.04 ±0.33 / 26.59 ms │        25.69 / 26.13 ±0.29 / 26.58 ms │     no change │
│ QQuery 82 │        16.06 / 16.75 ±1.11 / 18.95 ms │        16.18 / 16.53 ±0.36 / 17.23 ms │     no change │
│ QQuery 83 │        33.62 / 33.82 ±0.17 / 34.08 ms │        34.25 / 36.41 ±3.93 / 44.26 ms │  1.08x slower │
│ QQuery 84 │        29.46 / 31.56 ±3.99 / 39.54 ms │        29.25 / 29.93 ±0.39 / 30.40 ms │ +1.05x faster │
│ QQuery 85 │     102.70 / 103.85 ±0.72 / 104.93 ms │     101.74 / 104.35 ±3.23 / 110.70 ms │     no change │
│ QQuery 86 │        25.05 / 25.31 ±0.20 / 25.64 ms │        24.75 / 25.22 ±0.38 / 25.83 ms │     no change │
│ QQuery 87 │        61.57 / 63.15 ±1.64 / 66.24 ms │        61.58 / 63.87 ±2.84 / 69.48 ms │     no change │
│ QQuery 88 │        63.48 / 63.69 ±0.23 / 64.04 ms │        64.15 / 64.77 ±0.81 / 66.31 ms │     no change │
│ QQuery 89 │        35.45 / 35.88 ±0.39 / 36.52 ms │        35.74 / 36.41 ±0.51 / 37.08 ms │     no change │
│ QQuery 90 │        16.86 / 17.05 ±0.25 / 17.54 ms │        16.88 / 17.21 ±0.25 / 17.46 ms │     no change │
│ QQuery 91 │        44.79 / 45.16 ±0.29 / 45.53 ms │        44.90 / 45.44 ±0.50 / 46.22 ms │     no change │
│ QQuery 92 │        28.90 / 29.20 ±0.25 / 29.64 ms │        29.09 / 31.83 ±3.38 / 38.42 ms │  1.09x slower │
│ QQuery 93 │        49.52 / 51.00 ±1.54 / 53.65 ms │        50.09 / 51.36 ±0.81 / 52.36 ms │     no change │
│ QQuery 94 │        38.39 / 39.39 ±1.80 / 43.00 ms │        38.16 / 39.60 ±1.72 / 42.91 ms │     no change │
│ QQuery 95 │        80.15 / 80.64 ±0.52 / 81.64 ms │        80.21 / 81.47 ±0.73 / 82.30 ms │     no change │
│ QQuery 96 │        23.82 / 24.06 ±0.21 / 24.40 ms │        23.92 / 25.60 ±2.78 / 31.16 ms │  1.06x slower │
│ QQuery 97 │        51.34 / 54.52 ±2.81 / 59.68 ms │        51.97 / 53.46 ±1.76 / 56.89 ms │     no change │
│ QQuery 98 │        42.52 / 44.14 ±1.36 / 46.65 ms │        42.31 / 43.91 ±1.94 / 47.73 ms │     no change │
│ QQuery 99 │        70.05 / 70.60 ±0.63 / 71.72 ms │        68.89 / 69.82 ±0.90 / 70.93 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 9525.39ms │
│ Total Time (lift-selectivity-stats)   │ 9555.85ms │
│ Average Time (HEAD)                   │   96.22ms │
│ Average Time (lift-selectivity-stats) │   96.52ms │
│ Queries Faster                        │         1 │
│ Queries Slower                        │         5 │
│ Queries with No Change                │        93 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.4 GiB
CPU user 207.6s
CPU sys 5.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 204.9s
CPU sys 5.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark tpch10
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 310.83 ms │              309.09 ms │     no change │
│ QQuery 2  │  90.59 ms │               89.38 ms │     no change │
│ QQuery 3  │ 217.44 ms │              218.76 ms │     no change │
│ QQuery 4  │ 113.27 ms │              113.95 ms │     no change │
│ QQuery 5  │ 342.02 ms │              343.66 ms │     no change │
│ QQuery 6  │ 122.25 ms │              122.44 ms │     no change │
│ QQuery 7  │ 441.66 ms │              433.96 ms │     no change │
│ QQuery 8  │ 356.98 ms │              354.30 ms │     no change │
│ QQuery 9  │ 512.38 ms │              578.70 ms │  1.13x slower │
│ QQuery 10 │ 320.38 ms │              324.24 ms │     no change │
│ QQuery 11 │  63.53 ms │               67.20 ms │  1.06x slower │
│ QQuery 12 │ 178.75 ms │              190.72 ms │  1.07x slower │
│ QQuery 13 │ 305.51 ms │              340.09 ms │  1.11x slower │
│ QQuery 14 │ 167.46 ms │              169.68 ms │     no change │
│ QQuery 15 │ 301.12 ms │              302.93 ms │     no change │
│ QQuery 16 │  62.98 ms │               64.26 ms │     no change │
│ QQuery 17 │ 571.01 ms │              569.22 ms │     no change │
│ QQuery 18 │ 696.76 ms │              730.92 ms │     no change │
│ QQuery 19 │ 246.64 ms │              241.82 ms │     no change │
│ QQuery 20 │ 282.35 ms │              260.32 ms │ +1.08x faster │
│ QQuery 21 │ 654.15 ms │              668.23 ms │     no change │
│ QQuery 22 │  57.92 ms │               62.06 ms │  1.07x slower │
└───────────┴───────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6415.99ms │
│ Total Time (lift-selectivity-stats)   │ 6555.91ms │
│ Average Time (HEAD)                   │  291.64ms │
│ Average Time (lift-selectivity-stats) │  298.00ms │
│ Queries Faster                        │         1 │
│ Queries Slower                        │         5 │
│ Queries with No Change                │        16 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃             lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  310.83 / 319.36 ±6.64 / 328.85 ms │  309.09 / 311.12 ±1.28 / 312.25 ms │     no change │
│ QQuery 2  │     90.59 / 92.59 ±1.89 / 95.58 ms │     89.38 / 91.28 ±1.21 / 93.04 ms │     no change │
│ QQuery 3  │  217.44 / 221.65 ±2.59 / 225.05 ms │  218.76 / 221.40 ±1.92 / 224.42 ms │     no change │
│ QQuery 4  │  113.27 / 114.66 ±1.90 / 118.43 ms │  113.95 / 116.76 ±1.58 / 118.37 ms │     no change │
│ QQuery 5  │  342.02 / 349.84 ±5.42 / 356.52 ms │  343.66 / 351.32 ±7.73 / 364.80 ms │     no change │
│ QQuery 6  │  122.25 / 123.40 ±0.67 / 123.99 ms │  122.44 / 124.60 ±2.62 / 129.67 ms │     no change │
│ QQuery 7  │  441.66 / 450.08 ±6.02 / 458.64 ms │  433.96 / 447.82 ±7.56 / 455.95 ms │     no change │
│ QQuery 8  │  356.98 / 366.02 ±5.37 / 372.45 ms │ 354.30 / 365.99 ±11.41 / 382.36 ms │     no change │
│ QQuery 9  │ 512.38 / 528.87 ±17.39 / 560.35 ms │  578.70 / 587.60 ±5.83 / 595.22 ms │  1.11x slower │
│ QQuery 10 │  320.38 / 332.02 ±8.32 / 343.81 ms │ 324.24 / 338.44 ±11.06 / 353.24 ms │     no change │
│ QQuery 11 │     63.53 / 64.83 ±0.80 / 65.67 ms │     67.20 / 73.21 ±7.13 / 83.22 ms │  1.13x slower │
│ QQuery 12 │  178.75 / 184.87 ±6.56 / 195.16 ms │  190.72 / 195.16 ±3.16 / 199.73 ms │  1.06x slower │
│ QQuery 13 │  305.51 / 310.40 ±3.87 / 315.35 ms │  340.09 / 352.15 ±8.49 / 366.26 ms │  1.13x slower │
│ QQuery 14 │  167.46 / 174.28 ±8.41 / 190.48 ms │  169.68 / 178.46 ±7.82 / 188.22 ms │     no change │
│ QQuery 15 │  301.12 / 303.96 ±2.22 / 307.52 ms │  302.93 / 308.54 ±4.67 / 313.55 ms │     no change │
│ QQuery 16 │     62.98 / 64.84 ±1.42 / 66.57 ms │     64.26 / 66.77 ±2.57 / 71.42 ms │     no change │
│ QQuery 17 │ 571.01 / 582.45 ±11.40 / 602.77 ms │ 569.22 / 583.18 ±11.93 / 604.87 ms │     no change │
│ QQuery 18 │ 696.76 / 711.08 ±13.92 / 737.37 ms │ 730.92 / 787.03 ±40.19 / 833.16 ms │  1.11x slower │
│ QQuery 19 │ 246.64 / 260.75 ±19.85 / 299.07 ms │ 241.82 / 254.50 ±11.17 / 271.87 ms │     no change │
│ QQuery 20 │  282.35 / 290.87 ±8.95 / 303.84 ms │  260.32 / 270.33 ±9.64 / 284.42 ms │ +1.08x faster │
│ QQuery 21 │ 654.15 / 677.85 ±16.79 / 700.07 ms │ 668.23 / 682.44 ±16.40 / 713.09 ms │     no change │
│ QQuery 22 │     57.92 / 60.90 ±3.26 / 67.07 ms │     62.06 / 67.62 ±5.79 / 75.43 ms │  1.11x slower │
└───────────┴────────────────────────────────────┴────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6585.55ms │
│ Total Time (lift-selectivity-stats)   │ 6775.71ms │
│ Average Time (HEAD)                   │  299.34ms │
│ Average Time (lift-selectivity-stats) │  307.99ms │
│ Queries Faster                        │         1 │
│ Queries Slower                        │         6 │
│ Queries with No Change                │        15 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpch10 — base (merge-base)

Metric Value
Wall time 35.0s
Peak memory 5.4 GiB
Avg memory 1.6 GiB
CPU user 335.0s
CPU sys 19.7s
Peak spill 0 B

tpch10 — branch

Metric Value
Wall time 35.0s
Peak memory 5.3 GiB
Avg memory 1.7 GiB
CPU user 343.4s
CPU sys 21.1s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpch10
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 313.77 ms │              317.16 ms │     no change │
│ QQuery 2  │  92.57 ms │               94.34 ms │     no change │
│ QQuery 3  │ 222.76 ms │              219.63 ms │     no change │
│ QQuery 4  │ 114.42 ms │              115.51 ms │     no change │
│ QQuery 5  │ 362.22 ms │              356.71 ms │     no change │
│ QQuery 6  │ 124.42 ms │              103.24 ms │ +1.21x faster │
│ QQuery 7  │ 453.72 ms │              447.64 ms │     no change │
│ QQuery 8  │ 359.51 ms │              364.63 ms │     no change │
│ QQuery 9  │ 525.93 ms │              529.36 ms │     no change │
│ QQuery 10 │ 314.94 ms │              305.23 ms │     no change │
│ QQuery 11 │  66.93 ms │               64.81 ms │     no change │
│ QQuery 12 │ 182.47 ms │              151.23 ms │ +1.21x faster │
│ QQuery 13 │ 306.88 ms │              304.06 ms │     no change │
│ QQuery 14 │ 175.68 ms │              174.18 ms │     no change │
│ QQuery 15 │ 311.11 ms │              309.68 ms │     no change │
│ QQuery 16 │  65.22 ms │               65.80 ms │     no change │
│ QQuery 17 │ 589.14 ms │              600.52 ms │     no change │
│ QQuery 18 │ 730.58 ms │              739.17 ms │     no change │
│ QQuery 19 │ 248.30 ms │              247.81 ms │     no change │
│ QQuery 20 │ 277.51 ms │              274.55 ms │     no change │
│ QQuery 21 │ 693.41 ms │              688.87 ms │     no change │
│ QQuery 22 │  63.01 ms │               61.25 ms │     no change │
└───────────┴───────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6594.53ms │
│ Total Time (lift-selectivity-stats)   │ 6535.40ms │
│ Average Time (HEAD)                   │  299.75ms │
│ Average Time (lift-selectivity-stats) │  297.06ms │
│ Queries Faster                        │         2 │
│ Queries Slower                        │         0 │
│ Queries with No Change                │        20 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃             lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  313.77 / 314.76 ±0.80 / 315.96 ms │  317.16 / 318.99 ±2.21 / 322.73 ms │     no change │
│ QQuery 2  │     92.57 / 94.01 ±1.10 / 95.75 ms │    94.34 / 97.33 ±2.43 / 101.77 ms │     no change │
│ QQuery 3  │  222.76 / 225.42 ±1.87 / 227.73 ms │  219.63 / 225.65 ±3.20 / 228.98 ms │     no change │
│ QQuery 4  │  114.42 / 116.46 ±1.82 / 119.22 ms │  115.51 / 117.01 ±1.22 / 118.58 ms │     no change │
│ QQuery 5  │  362.22 / 366.10 ±3.04 / 370.37 ms │  356.71 / 362.02 ±5.84 / 372.92 ms │     no change │
│ QQuery 6  │  124.42 / 127.23 ±2.97 / 132.91 ms │  103.24 / 106.30 ±3.28 / 112.66 ms │ +1.20x faster │
│ QQuery 7  │  453.72 / 458.22 ±3.68 / 464.25 ms │  447.64 / 455.02 ±7.33 / 469.02 ms │     no change │
│ QQuery 8  │ 359.51 / 370.07 ±10.02 / 386.37 ms │  364.63 / 368.20 ±3.22 / 374.04 ms │     no change │
│ QQuery 9  │ 525.93 / 539.14 ±11.22 / 555.74 ms │ 529.36 / 546.78 ±18.76 / 578.19 ms │     no change │
│ QQuery 10 │  314.94 / 320.07 ±4.48 / 327.10 ms │ 305.23 / 313.51 ±11.70 / 336.04 ms │     no change │
│ QQuery 11 │     66.93 / 69.51 ±3.85 / 77.13 ms │     64.81 / 66.37 ±1.39 / 68.88 ms │     no change │
│ QQuery 12 │  182.47 / 189.24 ±9.39 / 207.74 ms │  151.23 / 155.76 ±3.37 / 160.92 ms │ +1.21x faster │
│ QQuery 13 │ 306.88 / 318.53 ±10.42 / 333.65 ms │  304.06 / 307.46 ±3.13 / 312.86 ms │     no change │
│ QQuery 14 │  175.68 / 183.24 ±5.99 / 190.60 ms │  174.18 / 178.04 ±6.06 / 190.09 ms │     no change │
│ QQuery 15 │  311.11 / 314.24 ±3.15 / 319.37 ms │  309.68 / 314.73 ±4.54 / 320.84 ms │     no change │
│ QQuery 16 │     65.22 / 67.57 ±1.94 / 70.63 ms │     65.80 / 68.51 ±2.43 / 72.89 ms │     no change │
│ QQuery 17 │ 589.14 / 607.78 ±12.67 / 622.04 ms │  600.52 / 606.52 ±5.17 / 615.32 ms │     no change │
│ QQuery 18 │ 730.58 / 752.13 ±19.23 / 781.13 ms │ 739.17 / 761.77 ±22.82 / 803.40 ms │     no change │
│ QQuery 19 │ 248.30 / 260.97 ±12.29 / 275.92 ms │ 247.81 / 259.42 ±12.19 / 281.66 ms │     no change │
│ QQuery 20 │  277.51 / 285.28 ±7.72 / 299.56 ms │  274.55 / 286.16 ±8.73 / 301.40 ms │     no change │
│ QQuery 21 │  693.41 / 699.61 ±6.15 / 710.56 ms │  688.87 / 690.12 ±1.55 / 692.77 ms │     no change │
│ QQuery 22 │     63.01 / 67.70 ±3.82 / 72.30 ms │     61.25 / 67.82 ±4.58 / 74.23 ms │     no change │
└───────────┴────────────────────────────────────┴────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6747.27ms │
│ Total Time (lift-selectivity-stats)   │ 6673.48ms │
│ Average Time (HEAD)                   │  306.69ms │
│ Average Time (lift-selectivity-stats) │  303.34ms │
│ Queries Faster                        │         2 │
│ Queries Slower                        │         0 │
│ Queries with No Change                │        20 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpch10 — base (merge-base)

Metric Value
Wall time 35.0s
Peak memory 5.1 GiB
Avg memory 1.7 GiB
CPU user 342.8s
CPU sys 20.2s
Peak spill 0 B

tpch10 — branch

Metric Value
Wall time 35.0s
Peak memory 5.3 GiB
Avg memory 1.7 GiB
CPU user 339.5s
CPU sys 20.5s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5566318199-2194-dxhnh 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing lift-selectivity-stats (12c9a05) to 262936e (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.23 ms │                1.24 ms │     no change │
│ QQuery 1  │   12.04 ms │               12.13 ms │     no change │
│ QQuery 2  │   38.39 ms │               37.61 ms │     no change │
│ QQuery 3  │   32.28 ms │               31.68 ms │     no change │
│ QQuery 4  │  231.51 ms │              246.59 ms │  1.07x slower │
│ QQuery 5  │  283.99 ms │              293.69 ms │     no change │
│ QQuery 6  │    1.36 ms │                1.54 ms │  1.14x slower │
│ QQuery 7  │   14.13 ms │               14.19 ms │     no change │
│ QQuery 8  │  370.32 ms │              362.52 ms │     no change │
│ QQuery 9  │  499.31 ms │              499.15 ms │     no change │
│ QQuery 10 │   74.19 ms │               72.41 ms │     no change │
│ QQuery 11 │   85.78 ms │               85.05 ms │     no change │
│ QQuery 12 │  281.06 ms │              283.91 ms │     no change │
│ QQuery 13 │  382.41 ms │              396.44 ms │     no change │
│ QQuery 14 │  301.26 ms │              307.76 ms │     no change │
│ QQuery 15 │  293.16 ms │              307.21 ms │     no change │
│ QQuery 16 │  711.30 ms │              660.75 ms │ +1.08x faster │
│ QQuery 17 │  685.90 ms │              672.79 ms │     no change │
│ QQuery 18 │ 1355.44 ms │             1367.81 ms │     no change │
│ QQuery 19 │   29.84 ms │               28.58 ms │     no change │
│ QQuery 20 │  518.20 ms │              526.89 ms │     no change │
│ QQuery 21 │  529.19 ms │              524.53 ms │     no change │
│ QQuery 22 │ 1012.68 ms │             1015.92 ms │     no change │
│ QQuery 23 │ 3181.36 ms │             3196.49 ms │     no change │
│ QQuery 24 │   42.84 ms │               42.29 ms │     no change │
│ QQuery 25 │  116.05 ms │              113.58 ms │     no change │
│ QQuery 26 │   42.41 ms │               42.26 ms │     no change │
│ QQuery 27 │  528.04 ms │              524.24 ms │     no change │
│ QQuery 28 │ 3010.95 ms │             3005.85 ms │     no change │
│ QQuery 29 │   43.74 ms │               42.56 ms │     no change │
│ QQuery 30 │  342.78 ms │              316.59 ms │ +1.08x faster │
│ QQuery 31 │  314.77 ms │              291.14 ms │ +1.08x faster │
│ QQuery 32 │ 1006.62 ms │              977.21 ms │     no change │
│ QQuery 33 │ 1597.91 ms │             1552.69 ms │     no change │
│ QQuery 34 │ 1616.04 ms │             1593.91 ms │     no change │
│ QQuery 35 │  307.12 ms │              311.68 ms │     no change │
│ QQuery 36 │   69.76 ms │               68.97 ms │     no change │
│ QQuery 37 │   37.05 ms │               38.84 ms │     no change │
│ QQuery 38 │   41.06 ms │               44.70 ms │  1.09x slower │
│ QQuery 39 │  143.68 ms │              141.43 ms │     no change │
│ QQuery 40 │   14.90 ms │               14.88 ms │     no change │
│ QQuery 41 │   14.74 ms │               14.67 ms │     no change │
│ QQuery 42 │   14.44 ms │               14.26 ms │     no change │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 20231.24ms │
│ Total Time (lift-selectivity-stats)   │ 20098.65ms │
│ Average Time (HEAD)                   │   470.49ms │
│ Average Time (lift-selectivity-stats) │   467.41ms │
│ Queries Faster                        │          3 │
│ Queries Slower                        │          3 │
│ Queries with No Change                │         37 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.23 / 4.15 ±5.68 / 15.52 ms │          1.24 / 4.21 ±5.74 / 15.70 ms │     no change │
│ QQuery 1  │        12.04 / 12.58 ±0.33 / 13.04 ms │        12.13 / 12.55 ±0.23 / 12.79 ms │     no change │
│ QQuery 2  │        38.39 / 38.68 ±0.23 / 39.09 ms │        37.61 / 38.99 ±1.94 / 42.85 ms │     no change │
│ QQuery 3  │        32.28 / 32.73 ±0.62 / 33.95 ms │        31.68 / 32.02 ±0.32 / 32.46 ms │     no change │
│ QQuery 4  │     231.51 / 238.00 ±4.20 / 243.10 ms │     246.59 / 250.79 ±2.51 / 253.47 ms │  1.05x slower │
│ QQuery 5  │     283.99 / 288.75 ±3.27 / 293.51 ms │     293.69 / 295.64 ±1.16 / 296.81 ms │     no change │
│ QQuery 6  │           1.36 / 1.49 ±0.22 / 1.92 ms │           1.54 / 1.66 ±0.19 / 2.03 ms │  1.11x slower │
│ QQuery 7  │        14.13 / 16.40 ±4.01 / 24.42 ms │        14.19 / 14.34 ±0.19 / 14.71 ms │ +1.14x faster │
│ QQuery 8  │     370.32 / 386.32 ±8.70 / 394.07 ms │     362.52 / 372.74 ±8.36 / 383.89 ms │     no change │
│ QQuery 9  │    499.31 / 518.86 ±14.45 / 541.00 ms │    499.15 / 517.12 ±20.88 / 557.65 ms │     no change │
│ QQuery 10 │        74.19 / 76.33 ±2.94 / 82.16 ms │        72.41 / 72.85 ±0.39 / 73.45 ms │     no change │
│ QQuery 11 │        85.78 / 86.90 ±1.13 / 89.01 ms │        85.05 / 86.20 ±1.19 / 88.50 ms │     no change │
│ QQuery 12 │     281.06 / 290.06 ±6.61 / 301.16 ms │    283.91 / 309.35 ±23.31 / 350.73 ms │  1.07x slower │
│ QQuery 13 │     382.41 / 398.18 ±9.96 / 413.24 ms │    396.44 / 411.70 ±14.60 / 430.61 ms │     no change │
│ QQuery 14 │    301.26 / 310.58 ±13.33 / 335.86 ms │     307.76 / 313.61 ±5.50 / 323.81 ms │     no change │
│ QQuery 15 │     293.16 / 312.30 ±9.96 / 320.92 ms │     307.21 / 314.27 ±6.63 / 326.29 ms │     no change │
│ QQuery 16 │    711.30 / 731.34 ±15.05 / 753.03 ms │    660.75 / 681.00 ±15.66 / 704.15 ms │ +1.07x faster │
│ QQuery 17 │    685.90 / 703.19 ±21.24 / 743.69 ms │    672.79 / 694.41 ±14.81 / 708.16 ms │     no change │
│ QQuery 18 │ 1355.44 / 1413.18 ±40.61 / 1456.73 ms │ 1367.81 / 1402.21 ±19.16 / 1423.39 ms │     no change │
│ QQuery 19 │        29.84 / 30.37 ±0.47 / 31.01 ms │       28.58 / 37.88 ±15.85 / 69.31 ms │  1.25x slower │
│ QQuery 20 │    518.20 / 534.53 ±10.96 / 544.72 ms │    526.89 / 537.11 ±16.85 / 570.70 ms │     no change │
│ QQuery 21 │    529.19 / 538.77 ±11.42 / 560.78 ms │     524.53 / 526.24 ±1.77 / 529.35 ms │     no change │
│ QQuery 22 │ 1012.68 / 1032.79 ±12.14 / 1049.21 ms │ 1015.92 / 1030.33 ±12.23 / 1049.36 ms │     no change │
│ QQuery 23 │ 3181.36 / 3236.47 ±38.45 / 3292.24 ms │ 3196.49 / 3222.68 ±33.28 / 3281.27 ms │     no change │
│ QQuery 24 │        42.84 / 48.18 ±5.53 / 55.62 ms │        42.29 / 44.16 ±1.41 / 46.44 ms │ +1.09x faster │
│ QQuery 25 │     116.05 / 121.88 ±5.43 / 131.70 ms │     113.58 / 118.11 ±4.68 / 126.47 ms │     no change │
│ QQuery 26 │        42.41 / 43.32 ±0.75 / 44.53 ms │        42.26 / 42.49 ±0.24 / 42.93 ms │     no change │
│ QQuery 27 │     528.04 / 529.90 ±1.62 / 532.61 ms │     524.24 / 534.31 ±8.54 / 548.60 ms │     no change │
│ QQuery 28 │ 3010.95 / 3039.46 ±34.31 / 3097.46 ms │ 3005.85 / 3032.84 ±16.54 / 3053.70 ms │     no change │
│ QQuery 29 │       43.74 / 56.21 ±18.88 / 92.59 ms │        42.56 / 48.11 ±6.42 / 56.86 ms │ +1.17x faster │
│ QQuery 30 │     342.78 / 352.33 ±6.33 / 361.96 ms │    316.59 / 334.97 ±22.75 / 378.15 ms │     no change │
│ QQuery 31 │    314.77 / 329.44 ±14.74 / 357.72 ms │     291.14 / 302.22 ±6.11 / 309.15 ms │ +1.09x faster │
│ QQuery 32 │ 1006.62 / 1061.33 ±31.23 / 1098.69 ms │  977.21 / 1043.68 ±37.85 / 1085.38 ms │     no change │
│ QQuery 33 │ 1597.91 / 1638.56 ±29.31 / 1669.83 ms │ 1552.69 / 1590.30 ±30.33 / 1644.70 ms │     no change │
│ QQuery 34 │ 1616.04 / 1650.61 ±21.44 / 1676.79 ms │ 1593.91 / 1649.97 ±49.25 / 1718.01 ms │     no change │
│ QQuery 35 │    307.12 / 346.57 ±48.93 / 441.85 ms │    311.68 / 343.59 ±35.59 / 410.05 ms │     no change │
│ QQuery 36 │      69.76 / 81.78 ±10.87 / 101.15 ms │        68.97 / 76.85 ±7.61 / 87.48 ms │ +1.06x faster │
│ QQuery 37 │        37.05 / 37.96 ±0.66 / 38.64 ms │        38.84 / 39.87 ±1.62 / 43.10 ms │  1.05x slower │
│ QQuery 38 │        41.06 / 45.52 ±3.32 / 49.51 ms │        44.70 / 47.60 ±2.97 / 52.55 ms │     no change │
│ QQuery 39 │     143.68 / 153.96 ±7.32 / 163.21 ms │    141.43 / 161.21 ±11.50 / 174.74 ms │     no change │
│ QQuery 40 │        14.90 / 15.37 ±0.43 / 16.00 ms │        14.88 / 15.62 ±0.83 / 17.24 ms │     no change │
│ QQuery 41 │        14.74 / 15.74 ±1.57 / 18.86 ms │        14.67 / 15.10 ±0.32 / 15.60 ms │     no change │
│ QQuery 42 │        14.44 / 16.06 ±2.90 / 21.84 ms │        14.26 / 15.47 ±2.07 / 19.58 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 20817.13ms │
│ Total Time (lift-selectivity-stats)   │ 20636.36ms │
│ Average Time (HEAD)                   │   484.12ms │
│ Average Time (lift-selectivity-stats) │   479.92ms │
│ Queries Faster                        │          6 │
│ Queries Slower                        │          5 │
│ Queries with No Change                │         32 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 12.7 GiB
Avg memory 4.6 GiB
CPU user 1061.7s
CPU sys 79.8s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 11.6 GiB
Avg memory 4.4 GiB
CPU user 1047.2s
CPU sys 79.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark clickbench_partitioned
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.32 ms │                1.25 ms │ +1.06x faster │
│ QQuery 1  │   12.39 ms │               11.89 ms │     no change │
│ QQuery 2  │   37.07 ms │               37.30 ms │     no change │
│ QQuery 3  │   31.89 ms │               30.78 ms │     no change │
│ QQuery 4  │  224.33 ms │              221.43 ms │     no change │
│ QQuery 5  │  273.46 ms │              272.40 ms │     no change │
│ QQuery 6  │    1.26 ms │                1.27 ms │     no change │
│ QQuery 7  │   13.22 ms │               13.09 ms │     no change │
│ QQuery 8  │  328.84 ms │              327.85 ms │     no change │
│ QQuery 9  │  451.68 ms │              458.19 ms │     no change │
│ QQuery 10 │   69.61 ms │               69.30 ms │     no change │
│ QQuery 11 │   81.24 ms │               80.17 ms │     no change │
│ QQuery 12 │  268.52 ms │              266.88 ms │     no change │
│ QQuery 13 │  368.57 ms │              374.89 ms │     no change │
│ QQuery 14 │  289.16 ms │              282.94 ms │     no change │
│ QQuery 15 │  274.27 ms │              272.73 ms │     no change │
│ QQuery 16 │  623.37 ms │              610.11 ms │     no change │
│ QQuery 17 │  624.24 ms │              624.96 ms │     no change │
│ QQuery 18 │ 1278.92 ms │             1269.36 ms │     no change │
│ QQuery 19 │   27.22 ms │               27.42 ms │     no change │
│ QQuery 20 │  516.48 ms │              515.90 ms │     no change │
│ QQuery 21 │  512.11 ms │              513.65 ms │     no change │
│ QQuery 22 │  992.41 ms │              992.00 ms │     no change │
│ QQuery 23 │ 3112.71 ms │             3016.99 ms │     no change │
│ QQuery 24 │   41.31 ms │               42.88 ms │     no change │
│ QQuery 25 │  111.96 ms │              115.96 ms │     no change │
│ QQuery 26 │   41.17 ms │               43.59 ms │  1.06x slower │
│ QQuery 27 │  519.28 ms │              541.28 ms │     no change │
│ QQuery 28 │ 2920.19 ms │             2914.92 ms │     no change │
│ QQuery 29 │   41.19 ms │               41.78 ms │     no change │
│ QQuery 30 │  305.83 ms │              301.76 ms │     no change │
│ QQuery 31 │  289.38 ms │              287.27 ms │     no change │
│ QQuery 32 │  899.09 ms │              943.18 ms │     no change │
│ QQuery 33 │ 1443.03 ms │             1464.34 ms │     no change │
│ QQuery 34 │ 1479.39 ms │             1473.32 ms │     no change │
│ QQuery 35 │  352.48 ms │              278.96 ms │ +1.26x faster │
│ QQuery 36 │   77.30 ms │               67.39 ms │ +1.15x faster │
│ QQuery 37 │   38.35 ms │               36.56 ms │     no change │
│ QQuery 38 │   46.23 ms │               40.15 ms │ +1.15x faster │
│ QQuery 39 │  164.29 ms │              144.70 ms │ +1.14x faster │
│ QQuery 40 │   16.37 ms │               15.02 ms │ +1.09x faster │
│ QQuery 41 │   16.30 ms │               14.58 ms │ +1.12x faster │
│ QQuery 42 │   15.01 ms │               13.04 ms │ +1.15x faster │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 19232.42ms │
│ Total Time (lift-selectivity-stats)   │ 19073.44ms │
│ Average Time (HEAD)                   │   447.27ms │
│ Average Time (lift-selectivity-stats) │   443.57ms │
│ Queries Faster                        │          8 │
│ Queries Slower                        │          1 │
│ Queries with No Change                │         34 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                 lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.32 / 4.32 ±5.82 / 15.95 ms │           1.25 / 4.03 ±5.48 / 14.99 ms │ +1.07x faster │
│ QQuery 1  │        12.39 / 12.65 ±0.14 / 12.80 ms │         11.89 / 12.10 ±0.13 / 12.27 ms │     no change │
│ QQuery 2  │        37.07 / 37.60 ±0.29 / 37.92 ms │         37.30 / 37.65 ±0.26 / 38.07 ms │     no change │
│ QQuery 3  │        31.89 / 32.48 ±0.53 / 33.35 ms │         30.78 / 31.10 ±0.19 / 31.37 ms │     no change │
│ QQuery 4  │     224.33 / 228.29 ±3.03 / 233.68 ms │      221.43 / 223.72 ±2.40 / 226.92 ms │     no change │
│ QQuery 5  │     273.46 / 275.15 ±0.99 / 276.18 ms │      272.40 / 274.31 ±1.62 / 276.83 ms │     no change │
│ QQuery 6  │           1.26 / 1.41 ±0.22 / 1.84 ms │            1.27 / 1.42 ±0.22 / 1.85 ms │     no change │
│ QQuery 7  │        13.22 / 13.43 ±0.17 / 13.68 ms │         13.09 / 13.18 ±0.06 / 13.27 ms │     no change │
│ QQuery 8  │    328.84 / 363.10 ±20.14 / 382.50 ms │     327.85 / 344.25 ±18.53 / 368.08 ms │ +1.05x faster │
│ QQuery 9  │    451.68 / 470.33 ±14.98 / 496.20 ms │     458.19 / 502.55 ±30.46 / 548.69 ms │  1.07x slower │
│ QQuery 10 │        69.61 / 70.68 ±0.64 / 71.64 ms │         69.30 / 70.05 ±0.92 / 71.85 ms │     no change │
│ QQuery 11 │        81.24 / 82.00 ±1.08 / 84.12 ms │         80.17 / 80.82 ±0.47 / 81.57 ms │     no change │
│ QQuery 12 │     268.52 / 272.85 ±3.94 / 279.85 ms │      266.88 / 272.79 ±6.47 / 283.55 ms │     no change │
│ QQuery 13 │    368.57 / 381.19 ±15.22 / 411.09 ms │     374.89 / 394.19 ±10.22 / 402.47 ms │     no change │
│ QQuery 14 │     289.16 / 295.80 ±5.26 / 305.23 ms │      282.94 / 288.73 ±6.39 / 300.09 ms │     no change │
│ QQuery 15 │     274.27 / 284.99 ±7.67 / 297.58 ms │      272.73 / 277.95 ±3.96 / 284.39 ms │     no change │
│ QQuery 16 │     623.37 / 634.68 ±9.57 / 650.43 ms │     610.11 / 637.50 ±20.56 / 670.67 ms │     no change │
│ QQuery 17 │    624.24 / 678.20 ±42.54 / 732.66 ms │     624.96 / 656.08 ±33.89 / 700.16 ms │     no change │
│ QQuery 18 │ 1278.92 / 1303.79 ±25.53 / 1337.92 ms │  1269.36 / 1301.29 ±23.14 / 1340.38 ms │     no change │
│ QQuery 19 │       27.22 / 39.73 ±24.33 / 88.37 ms │         27.42 / 32.16 ±8.89 / 49.93 ms │ +1.24x faster │
│ QQuery 20 │     516.48 / 524.86 ±9.84 / 541.05 ms │      515.90 / 525.41 ±7.09 / 534.39 ms │     no change │
│ QQuery 21 │     512.11 / 518.61 ±4.01 / 523.65 ms │      513.65 / 523.12 ±5.49 / 529.64 ms │     no change │
│ QQuery 22 │  992.41 / 1044.30 ±26.99 / 1065.23 ms │   992.00 / 1022.66 ±22.69 / 1061.28 ms │     no change │
│ QQuery 23 │ 3112.71 / 3192.17 ±67.83 / 3281.36 ms │ 3016.99 / 3127.07 ±104.00 / 3323.78 ms │     no change │
│ QQuery 24 │       41.31 / 51.25 ±12.75 / 73.72 ms │         42.88 / 43.37 ±0.61 / 44.50 ms │ +1.18x faster │
│ QQuery 25 │     111.96 / 115.93 ±7.28 / 130.49 ms │      115.96 / 121.32 ±5.76 / 131.85 ms │     no change │
│ QQuery 26 │        41.17 / 41.61 ±0.36 / 42.01 ms │         43.59 / 45.27 ±2.15 / 49.28 ms │  1.09x slower │
│ QQuery 27 │     519.28 / 523.96 ±6.20 / 535.61 ms │      541.28 / 550.69 ±9.92 / 569.09 ms │  1.05x slower │
│ QQuery 28 │ 2920.19 / 2965.23 ±36.96 / 3011.33 ms │  2914.92 / 2985.58 ±47.74 / 3043.61 ms │     no change │
│ QQuery 29 │       41.19 / 50.04 ±16.38 / 82.79 ms │       41.78 / 62.85 ±25.78 / 110.48 ms │  1.26x slower │
│ QQuery 30 │     305.83 / 312.28 ±6.09 / 321.37 ms │     301.76 / 312.12 ±10.90 / 326.07 ms │     no change │
│ QQuery 31 │    289.38 / 298.41 ±12.74 / 323.57 ms │     287.27 / 307.17 ±23.16 / 340.99 ms │     no change │
│ QQuery 32 │   899.09 / 973.41 ±58.35 / 1066.10 ms │    943.18 / 990.73 ±40.38 / 1063.66 ms │     no change │
│ QQuery 33 │ 1443.03 / 1483.01 ±25.84 / 1521.11 ms │  1464.34 / 1505.21 ±58.14 / 1620.10 ms │     no change │
│ QQuery 34 │ 1479.39 / 1542.04 ±63.13 / 1662.44 ms │  1473.32 / 1561.28 ±89.86 / 1730.55 ms │     no change │
│ QQuery 35 │    352.48 / 394.57 ±58.55 / 503.91 ms │     278.96 / 304.75 ±22.92 / 346.76 ms │ +1.29x faster │
│ QQuery 36 │        77.30 / 82.96 ±4.98 / 91.38 ms │         67.39 / 75.16 ±8.31 / 90.59 ms │ +1.10x faster │
│ QQuery 37 │        38.35 / 49.80 ±9.77 / 67.83 ms │         36.56 / 42.58 ±6.69 / 55.19 ms │ +1.17x faster │
│ QQuery 38 │        46.23 / 50.04 ±3.33 / 54.52 ms │         40.15 / 42.79 ±1.46 / 44.18 ms │ +1.17x faster │
│ QQuery 39 │     164.29 / 174.98 ±5.50 / 179.49 ms │      144.70 / 154.62 ±5.50 / 160.41 ms │ +1.13x faster │
│ QQuery 40 │        16.37 / 16.87 ±0.49 / 17.49 ms │         15.02 / 17.11 ±3.44 / 23.96 ms │     no change │
│ QQuery 41 │        16.30 / 17.75 ±2.53 / 22.81 ms │         14.58 / 15.07 ±0.59 / 16.17 ms │ +1.18x faster │
│ QQuery 42 │        15.01 / 17.65 ±5.04 / 27.72 ms │         13.04 / 13.32 ±0.19 / 13.63 ms │ +1.32x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 19924.39ms │
│ Total Time (lift-selectivity-stats)   │ 19805.14ms │
│ Average Time (HEAD)                   │   463.36ms │
│ Average Time (lift-selectivity-stats) │   460.58ms │
│ Queries Faster                        │         11 │
│ Queries Slower                        │          4 │
│ Queries with No Change                │         28 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 11.4 GiB
Avg memory 4.1 GiB
CPU user 1014.5s
CPU sys 75.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 12.4 GiB
Avg memory 4.7 GiB
CPU user 1006.8s
CPU sys 74.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "false"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
  env:
    DATAFUSION_EXECUTION_ADAPTIVE_FILTER_REORDERING: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.63 ms │                6.25 ms │  1.11x slower │
│ QQuery 2  │   80.12 ms │               83.18 ms │     no change │
│ QQuery 3  │   29.96 ms │               30.21 ms │     no change │
│ QQuery 4  │  505.38 ms │              575.53 ms │  1.14x slower │
│ QQuery 5  │   51.72 ms │               54.81 ms │  1.06x slower │
│ QQuery 6  │   36.37 ms │               39.53 ms │  1.09x slower │
│ QQuery 7  │   76.64 ms │               79.01 ms │     no change │
│ QQuery 8  │   37.78 ms │               38.96 ms │     no change │
│ QQuery 9  │   53.30 ms │               54.54 ms │     no change │
│ QQuery 10 │   62.56 ms │               64.58 ms │     no change │
│ QQuery 11 │  315.05 ms │              307.99 ms │     no change │
│ QQuery 12 │   29.28 ms │               29.79 ms │     no change │
│ QQuery 13 │  119.24 ms │              117.23 ms │     no change │
│ QQuery 14 │  420.45 ms │              412.48 ms │     no change │
│ QQuery 15 │   57.02 ms │               56.73 ms │     no change │
│ QQuery 16 │    7.34 ms │                6.87 ms │ +1.07x faster │
│ QQuery 17 │   82.78 ms │               79.90 ms │     no change │
│ QQuery 18 │  105.22 ms │              103.17 ms │     no change │
│ QQuery 19 │   41.47 ms │               41.09 ms │     no change │
│ QQuery 20 │   35.87 ms │               35.91 ms │     no change │
│ QQuery 21 │   17.20 ms │               17.13 ms │     no change │
│ QQuery 22 │   62.88 ms │               62.40 ms │     no change │
│ QQuery 23 │  312.85 ms │              310.51 ms │     no change │
│ QQuery 24 │  194.53 ms │              198.66 ms │     no change │
│ QQuery 25 │  111.33 ms │              112.31 ms │     no change │
│ QQuery 26 │   51.27 ms │               49.83 ms │     no change │
│ QQuery 27 │    6.98 ms │                6.70 ms │     no change │
│ QQuery 28 │   62.70 ms │               57.22 ms │ +1.10x faster │
│ QQuery 29 │  101.60 ms │               98.39 ms │     no change │
│ QQuery 30 │   32.63 ms │               33.25 ms │     no change │
│ QQuery 31 │  111.28 ms │              110.62 ms │     no change │
│ QQuery 32 │   20.49 ms │               20.23 ms │     no change │
│ QQuery 33 │   37.60 ms │               37.63 ms │     no change │
│ QQuery 34 │    9.86 ms │                9.95 ms │     no change │
│ QQuery 35 │   72.40 ms │               72.00 ms │     no change │
│ QQuery 36 │    5.79 ms │                5.81 ms │     no change │
│ QQuery 37 │    6.70 ms │                6.85 ms │     no change │
│ QQuery 38 │   61.65 ms │               61.77 ms │     no change │
│ QQuery 39 │   89.43 ms │               89.13 ms │     no change │
│ QQuery 40 │   23.86 ms │               24.10 ms │     no change │
│ QQuery 41 │   11.11 ms │               11.30 ms │     no change │
│ QQuery 42 │   23.94 ms │               23.95 ms │     no change │
│ QQuery 43 │    5.29 ms │                5.34 ms │     no change │
│ QQuery 44 │    9.32 ms │                9.49 ms │     no change │
│ QQuery 45 │   39.24 ms │               38.84 ms │     no change │
│ QQuery 46 │   12.23 ms │               12.15 ms │     no change │
│ QQuery 47 │  226.44 ms │              224.27 ms │     no change │
│ QQuery 48 │   95.15 ms │               95.04 ms │     no change │
│ QQuery 49 │   71.40 ms │               71.41 ms │     no change │
│ QQuery 50 │   58.56 ms │               58.80 ms │     no change │
│ QQuery 51 │   91.60 ms │               89.84 ms │     no change │
│ QQuery 52 │   23.86 ms │               23.71 ms │     no change │
│ QQuery 53 │   28.95 ms │               28.76 ms │     no change │
│ QQuery 54 │   54.22 ms │               53.98 ms │     no change │
│ QQuery 55 │   23.19 ms │               23.25 ms │     no change │
│ QQuery 56 │   38.83 ms │               38.47 ms │     no change │
│ QQuery 57 │  174.92 ms │              175.66 ms │     no change │
│ QQuery 58 │  111.22 ms │              110.73 ms │     no change │
│ QQuery 59 │  117.61 ms │              120.74 ms │     no change │
│ QQuery 60 │   39.31 ms │               41.37 ms │  1.05x slower │
│ QQuery 61 │   12.41 ms │               13.47 ms │  1.09x slower │
│ QQuery 62 │   45.79 ms │               48.19 ms │  1.05x slower │
│ QQuery 63 │   29.05 ms │               30.79 ms │  1.06x slower │
│ QQuery 64 │  362.29 ms │              362.68 ms │     no change │
│ QQuery 65 │  122.09 ms │              124.03 ms │     no change │
│ QQuery 66 │   80.85 ms │               81.26 ms │     no change │
│ QQuery 67 │  239.12 ms │              240.85 ms │     no change │
│ QQuery 68 │   12.04 ms │               12.05 ms │     no change │
│ QQuery 69 │   56.88 ms │               56.76 ms │     no change │
│ QQuery 70 │  111.96 ms │              104.41 ms │ +1.07x faster │
│ QQuery 71 │   37.41 ms │               35.16 ms │ +1.06x faster │
│ QQuery 72 │ 1696.25 ms │             1810.98 ms │  1.07x slower │
│ QQuery 73 │    9.64 ms │                9.65 ms │     no change │
│ QQuery 74 │  167.03 ms │              166.88 ms │     no change │
│ QQuery 75 │  147.17 ms │              154.30 ms │     no change │
│ QQuery 76 │   35.41 ms │               37.50 ms │  1.06x slower │
│ QQuery 77 │   61.02 ms │               61.14 ms │     no change │
│ QQuery 78 │  222.11 ms │              219.47 ms │     no change │
│ QQuery 79 │   66.25 ms │               66.70 ms │     no change │
│ QQuery 80 │   97.20 ms │               98.97 ms │     no change │
│ QQuery 81 │   25.77 ms │               26.28 ms │     no change │
│ QQuery 82 │   16.31 ms │               17.52 ms │  1.07x slower │
│ QQuery 83 │   33.85 ms │               33.79 ms │     no change │
│ QQuery 84 │   29.13 ms │               28.84 ms │     no change │
│ QQuery 85 │  102.34 ms │              100.99 ms │     no change │
│ QQuery 86 │   25.18 ms │               24.74 ms │     no change │
│ QQuery 87 │   61.66 ms │               62.55 ms │     no change │
│ QQuery 88 │   63.69 ms │               63.18 ms │     no change │
│ QQuery 89 │   35.53 ms │               34.95 ms │     no change │
│ QQuery 90 │   17.01 ms │               16.81 ms │     no change │
│ QQuery 91 │   44.52 ms │               44.50 ms │     no change │
│ QQuery 92 │   28.72 ms │               28.48 ms │     no change │
│ QQuery 93 │   49.23 ms │               49.41 ms │     no change │
│ QQuery 94 │   37.75 ms │               37.69 ms │     no change │
│ QQuery 95 │   79.83 ms │               80.04 ms │     no change │
│ QQuery 96 │   23.59 ms │               23.38 ms │     no change │
│ QQuery 97 │   51.98 ms │               52.36 ms │     no change │
│ QQuery 98 │   42.23 ms │               42.90 ms │     no change │
│ QQuery 99 │   70.14 ms │               69.92 ms │     no change │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 9253.02ms │
│ Total Time (lift-selectivity-stats)   │ 9432.89ms │
│ Average Time (HEAD)                   │   93.46ms │
│ Average Time (lift-selectivity-stats) │   95.28ms │
│ Queries Faster                        │         4 │
│ Queries Slower                        │        11 │
│ Queries with No Change                │        84 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.63 / 6.15 ±0.90 / 7.95 ms │           6.25 / 6.83 ±0.89 / 8.61 ms │  1.11x slower │
│ QQuery 2  │        80.12 / 80.50 ±0.59 / 81.68 ms │        83.18 / 83.51 ±0.19 / 83.72 ms │     no change │
│ QQuery 3  │        29.96 / 30.51 ±0.32 / 30.87 ms │        30.21 / 30.57 ±0.22 / 30.85 ms │     no change │
│ QQuery 4  │    505.38 / 551.03 ±37.05 / 588.04 ms │     575.53 / 578.14 ±1.53 / 579.69 ms │     no change │
│ QQuery 5  │        51.72 / 52.72 ±0.52 / 53.20 ms │        54.81 / 55.33 ±0.29 / 55.61 ms │     no change │
│ QQuery 6  │        36.37 / 37.86 ±1.27 / 39.74 ms │        39.53 / 39.90 ±0.23 / 40.17 ms │  1.05x slower │
│ QQuery 7  │        76.64 / 78.63 ±2.78 / 84.14 ms │        79.01 / 80.93 ±3.18 / 87.26 ms │     no change │
│ QQuery 8  │        37.78 / 38.56 ±0.84 / 40.13 ms │        38.96 / 39.15 ±0.12 / 39.35 ms │     no change │
│ QQuery 9  │        53.30 / 55.38 ±2.06 / 58.71 ms │        54.54 / 56.50 ±1.74 / 58.89 ms │     no change │
│ QQuery 10 │        62.56 / 63.09 ±0.41 / 63.62 ms │        64.58 / 67.11 ±3.40 / 73.78 ms │  1.06x slower │
│ QQuery 11 │     315.05 / 316.93 ±2.40 / 321.66 ms │    307.99 / 341.45 ±27.30 / 375.87 ms │  1.08x slower │
│ QQuery 12 │        29.28 / 29.47 ±0.18 / 29.76 ms │        29.79 / 31.33 ±2.29 / 35.82 ms │  1.06x slower │
│ QQuery 13 │     119.24 / 119.85 ±0.73 / 121.27 ms │     117.23 / 119.41 ±2.33 / 123.81 ms │     no change │
│ QQuery 14 │     420.45 / 424.61 ±3.65 / 431.30 ms │     412.48 / 418.56 ±3.67 / 422.85 ms │     no change │
│ QQuery 15 │        57.02 / 61.59 ±3.50 / 65.65 ms │        56.73 / 58.54 ±1.75 / 61.86 ms │     no change │
│ QQuery 16 │           7.34 / 7.49 ±0.10 / 7.64 ms │           6.87 / 7.04 ±0.23 / 7.48 ms │ +1.06x faster │
│ QQuery 17 │        82.78 / 84.11 ±1.64 / 87.16 ms │        79.90 / 81.29 ±1.12 / 82.93 ms │     no change │
│ QQuery 18 │     105.22 / 109.66 ±2.66 / 112.30 ms │     103.17 / 104.07 ±0.80 / 105.53 ms │ +1.05x faster │
│ QQuery 19 │        41.47 / 41.69 ±0.22 / 42.05 ms │        41.09 / 42.03 ±1.32 / 44.61 ms │     no change │
│ QQuery 20 │        35.87 / 36.65 ±0.97 / 38.55 ms │        35.91 / 37.06 ±0.68 / 37.77 ms │     no change │
│ QQuery 21 │        17.20 / 17.56 ±0.27 / 17.93 ms │        17.13 / 17.42 ±0.23 / 17.72 ms │     no change │
│ QQuery 22 │        62.88 / 65.76 ±4.72 / 75.16 ms │        62.40 / 63.31 ±0.49 / 63.81 ms │     no change │
│ QQuery 23 │     312.85 / 316.79 ±4.83 / 325.42 ms │    310.51 / 340.71 ±21.24 / 365.16 ms │  1.08x slower │
│ QQuery 24 │     194.53 / 198.55 ±6.43 / 211.38 ms │    198.66 / 222.29 ±14.10 / 242.94 ms │  1.12x slower │
│ QQuery 25 │     111.33 / 113.19 ±1.55 / 115.36 ms │     112.31 / 114.64 ±1.49 / 116.37 ms │     no change │
│ QQuery 26 │        51.27 / 51.45 ±0.14 / 51.62 ms │        49.83 / 51.32 ±2.51 / 56.33 ms │     no change │
│ QQuery 27 │           6.98 / 7.09 ±0.08 / 7.18 ms │           6.70 / 6.84 ±0.10 / 6.95 ms │     no change │
│ QQuery 28 │        62.70 / 63.28 ±0.47 / 63.81 ms │        57.22 / 61.84 ±2.36 / 63.82 ms │     no change │
│ QQuery 29 │     101.60 / 103.84 ±1.71 / 106.24 ms │      98.39 / 100.01 ±1.05 / 101.67 ms │     no change │
│ QQuery 30 │        32.63 / 34.69 ±1.61 / 36.62 ms │        33.25 / 35.47 ±2.37 / 39.85 ms │     no change │
│ QQuery 31 │     111.28 / 115.43 ±2.55 / 119.25 ms │     110.62 / 111.06 ±0.38 / 111.69 ms │     no change │
│ QQuery 32 │        20.49 / 20.77 ±0.18 / 20.96 ms │        20.23 / 20.76 ±0.40 / 21.41 ms │     no change │
│ QQuery 33 │        37.60 / 37.97 ±0.32 / 38.47 ms │        37.63 / 37.92 ±0.25 / 38.23 ms │     no change │
│ QQuery 34 │         9.86 / 10.24 ±0.70 / 11.65 ms │         9.95 / 10.97 ±1.69 / 14.33 ms │  1.07x slower │
│ QQuery 35 │        72.40 / 74.47 ±1.55 / 76.58 ms │        72.00 / 72.83 ±0.65 / 73.73 ms │     no change │
│ QQuery 36 │           5.79 / 5.94 ±0.15 / 6.22 ms │           5.81 / 5.91 ±0.15 / 6.21 ms │     no change │
│ QQuery 37 │           6.70 / 6.82 ±0.15 / 7.05 ms │           6.85 / 6.91 ±0.04 / 6.96 ms │     no change │
│ QQuery 38 │        61.65 / 62.27 ±0.44 / 62.98 ms │        61.77 / 62.24 ±0.54 / 63.31 ms │     no change │
│ QQuery 39 │       89.43 / 92.40 ±4.75 / 101.82 ms │        89.13 / 91.33 ±3.00 / 97.24 ms │     no change │
│ QQuery 40 │        23.86 / 24.46 ±0.40 / 24.91 ms │        24.10 / 24.43 ±0.32 / 25.04 ms │     no change │
│ QQuery 41 │        11.11 / 11.21 ±0.13 / 11.45 ms │        11.30 / 11.56 ±0.20 / 11.83 ms │     no change │
│ QQuery 42 │        23.94 / 24.49 ±0.43 / 25.05 ms │        23.95 / 24.22 ±0.28 / 24.72 ms │     no change │
│ QQuery 43 │           5.29 / 5.41 ±0.18 / 5.76 ms │           5.34 / 5.47 ±0.16 / 5.77 ms │     no change │
│ QQuery 44 │           9.32 / 9.43 ±0.17 / 9.77 ms │           9.49 / 9.60 ±0.08 / 9.72 ms │     no change │
│ QQuery 45 │        39.24 / 39.85 ±0.40 / 40.30 ms │        38.84 / 39.94 ±0.78 / 41.15 ms │     no change │
│ QQuery 46 │        12.23 / 12.34 ±0.15 / 12.63 ms │        12.15 / 12.32 ±0.21 / 12.73 ms │     no change │
│ QQuery 47 │     226.44 / 234.95 ±9.74 / 252.47 ms │     224.27 / 227.94 ±4.88 / 237.52 ms │     no change │
│ QQuery 48 │        95.15 / 96.33 ±0.92 / 97.89 ms │       95.04 / 97.17 ±2.91 / 102.94 ms │     no change │
│ QQuery 49 │        71.40 / 72.15 ±0.94 / 73.98 ms │        71.41 / 72.48 ±1.31 / 75.00 ms │     no change │
│ QQuery 50 │        58.56 / 60.36 ±2.65 / 65.64 ms │        58.80 / 60.32 ±1.98 / 64.09 ms │     no change │
│ QQuery 51 │       91.60 / 94.63 ±3.85 / 101.94 ms │        89.84 / 92.47 ±2.33 / 96.83 ms │     no change │
│ QQuery 52 │        23.86 / 24.22 ±0.34 / 24.71 ms │        23.71 / 24.23 ±0.55 / 25.25 ms │     no change │
│ QQuery 53 │        28.95 / 29.17 ±0.19 / 29.51 ms │        28.76 / 29.08 ±0.28 / 29.58 ms │     no change │
│ QQuery 54 │        54.22 / 56.87 ±5.01 / 66.89 ms │        53.98 / 56.18 ±3.42 / 62.97 ms │     no change │
│ QQuery 55 │        23.19 / 24.16 ±0.56 / 24.88 ms │        23.25 / 23.66 ±0.31 / 24.10 ms │     no change │
│ QQuery 56 │        38.83 / 39.22 ±0.47 / 40.08 ms │        38.47 / 38.82 ±0.38 / 39.54 ms │     no change │
│ QQuery 57 │     174.92 / 175.80 ±0.97 / 177.66 ms │     175.66 / 176.63 ±1.15 / 178.75 ms │     no change │
│ QQuery 58 │     111.22 / 112.31 ±1.00 / 113.92 ms │     110.73 / 111.95 ±1.21 / 114.13 ms │     no change │
│ QQuery 59 │     117.61 / 120.13 ±2.81 / 125.58 ms │     120.74 / 121.89 ±0.79 / 122.99 ms │     no change │
│ QQuery 60 │        39.31 / 40.16 ±0.74 / 41.48 ms │        41.37 / 41.99 ±0.38 / 42.44 ms │     no change │
│ QQuery 61 │        12.41 / 12.72 ±0.24 / 13.12 ms │        13.47 / 13.88 ±0.43 / 14.67 ms │  1.09x slower │
│ QQuery 62 │        45.79 / 46.33 ±0.58 / 47.44 ms │        48.19 / 49.95 ±2.40 / 54.62 ms │  1.08x slower │
│ QQuery 63 │        29.05 / 30.50 ±2.42 / 35.31 ms │        30.79 / 31.36 ±0.69 / 32.71 ms │     no change │
│ QQuery 64 │     362.29 / 368.87 ±4.89 / 375.73 ms │     362.68 / 371.63 ±6.74 / 380.62 ms │     no change │
│ QQuery 65 │     122.09 / 127.84 ±4.45 / 134.54 ms │     124.03 / 125.64 ±2.02 / 129.51 ms │     no change │
│ QQuery 66 │        80.85 / 81.28 ±0.26 / 81.57 ms │        81.26 / 82.42 ±0.99 / 83.77 ms │     no change │
│ QQuery 67 │     239.12 / 246.34 ±5.86 / 254.00 ms │     240.85 / 247.33 ±4.85 / 254.32 ms │     no change │
│ QQuery 68 │        12.04 / 12.23 ±0.26 / 12.73 ms │        12.05 / 12.22 ±0.16 / 12.51 ms │     no change │
│ QQuery 69 │        56.88 / 57.49 ±0.40 / 57.90 ms │        56.76 / 57.22 ±0.38 / 57.69 ms │     no change │
│ QQuery 70 │     111.96 / 115.83 ±3.08 / 120.88 ms │     104.41 / 107.04 ±3.94 / 114.86 ms │ +1.08x faster │
│ QQuery 71 │        37.41 / 38.88 ±1.54 / 41.60 ms │        35.16 / 35.79 ±0.32 / 36.03 ms │ +1.09x faster │
│ QQuery 72 │ 1696.25 / 1805.35 ±79.88 / 1939.16 ms │ 1810.98 / 1880.15 ±62.59 / 1968.00 ms │     no change │
│ QQuery 73 │         9.64 / 10.04 ±0.26 / 10.43 ms │          9.65 / 9.93 ±0.23 / 10.25 ms │     no change │
│ QQuery 74 │     167.03 / 174.21 ±5.93 / 182.90 ms │    166.88 / 180.37 ±15.42 / 204.78 ms │     no change │
│ QQuery 75 │     147.17 / 147.66 ±0.64 / 148.90 ms │     154.30 / 158.51 ±5.97 / 170.16 ms │  1.07x slower │
│ QQuery 76 │        35.41 / 38.52 ±3.26 / 43.77 ms │        37.50 / 38.05 ±0.53 / 38.85 ms │     no change │
│ QQuery 77 │        61.02 / 61.71 ±0.44 / 62.32 ms │        61.14 / 63.58 ±3.21 / 69.70 ms │     no change │
│ QQuery 78 │     222.11 / 225.77 ±3.34 / 230.50 ms │     219.47 / 223.48 ±4.62 / 231.60 ms │     no change │
│ QQuery 79 │        66.25 / 68.38 ±3.56 / 75.49 ms │        66.70 / 66.97 ±0.23 / 67.26 ms │     no change │
│ QQuery 80 │      97.20 / 101.88 ±5.06 / 111.74 ms │      98.97 / 100.41 ±1.43 / 102.92 ms │     no change │
│ QQuery 81 │        25.77 / 26.09 ±0.21 / 26.35 ms │        26.28 / 29.63 ±4.30 / 38.10 ms │  1.14x slower │
│ QQuery 82 │        16.31 / 16.97 ±0.86 / 18.68 ms │        17.52 / 17.88 ±0.32 / 18.44 ms │  1.05x slower │
│ QQuery 83 │        33.85 / 34.02 ±0.17 / 34.30 ms │        33.79 / 35.35 ±1.02 / 36.28 ms │     no change │
│ QQuery 84 │        29.13 / 29.87 ±0.80 / 31.36 ms │        28.84 / 29.49 ±0.81 / 31.04 ms │     no change │
│ QQuery 85 │     102.34 / 105.21 ±2.42 / 108.90 ms │     100.99 / 102.22 ±0.80 / 103.26 ms │     no change │
│ QQuery 86 │        25.18 / 25.46 ±0.24 / 25.87 ms │        24.74 / 28.31 ±5.57 / 39.41 ms │  1.11x slower │
│ QQuery 87 │        61.66 / 62.99 ±1.07 / 64.94 ms │        62.55 / 63.35 ±0.72 / 64.40 ms │     no change │
│ QQuery 88 │        63.69 / 64.77 ±1.78 / 68.31 ms │        63.18 / 63.50 ±0.35 / 64.15 ms │     no change │
│ QQuery 89 │        35.53 / 36.19 ±0.46 / 36.91 ms │        34.95 / 35.35 ±0.54 / 36.42 ms │     no change │
│ QQuery 90 │        17.01 / 17.20 ±0.18 / 17.49 ms │        16.81 / 18.58 ±3.28 / 25.13 ms │  1.08x slower │
│ QQuery 91 │        44.52 / 44.84 ±0.24 / 45.21 ms │        44.50 / 45.20 ±0.60 / 46.19 ms │     no change │
│ QQuery 92 │        28.72 / 29.33 ±0.48 / 30.15 ms │        28.48 / 29.36 ±0.59 / 30.23 ms │     no change │
│ QQuery 93 │        49.23 / 51.25 ±1.79 / 53.93 ms │        49.41 / 50.42 ±0.83 / 51.52 ms │     no change │
│ QQuery 94 │        37.75 / 38.45 ±0.68 / 39.70 ms │        37.69 / 38.99 ±1.12 / 40.92 ms │     no change │
│ QQuery 95 │        79.83 / 80.80 ±0.73 / 82.06 ms │        80.04 / 82.04 ±1.65 / 85.03 ms │     no change │
│ QQuery 96 │        23.59 / 23.90 ±0.23 / 24.29 ms │        23.38 / 23.66 ±0.27 / 24.16 ms │     no change │
│ QQuery 97 │        51.98 / 53.34 ±1.29 / 55.49 ms │        52.36 / 53.24 ±1.00 / 55.10 ms │     no change │
│ QQuery 98 │        42.23 / 42.80 ±0.41 / 43.32 ms │        42.90 / 43.96 ±0.85 / 45.45 ms │     no change │
│ QQuery 99 │        70.14 / 72.50 ±1.30 / 73.84 ms │        69.92 / 71.39 ±2.43 / 76.22 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 9560.48ms │
│ Total Time (lift-selectivity-stats)   │ 9732.69ms │
│ Average Time (HEAD)                   │   96.57ms │
│ Average Time (lift-selectivity-stats) │   98.31ms │
│ Queries Faster                        │         4 │
│ Queries Slower                        │        15 │
│ Queries with No Change                │        80 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.3 GiB
Avg memory 1.6 GiB
CPU user 203.5s
CPU sys 5.6s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.1 GiB
Avg memory 1.4 GiB
CPU user 207.6s
CPU sys 5.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

Benchmark for this request hit the 7200s job deadline before finishing.

Benchmarks requested: predicate_eval

Kubernetes message
Job was active longer than specified deadline

File an issue against this benchmark runner

@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark tpch10

baseline:
ref: 12c9a05
changed:
ref: 12c9a05

@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Benchmark summary for head 12c9a05 (no custom evaluator; learned order evaluated by BinaryExpr as a right-nested AND). Two runs on the same binary: flag off vs on (trigger), and main vs PR with the flag off on both sides (trigger).

Flag off → on

  • tpch_sf10: Q6 1.20x and Q12 1.21x faster, everything else unchanged. Q12 was 1.45x with the earlier dedicated compact-once loop, so evaluating the learned order through BinaryExpr gives up about half of that win on a cheap 5-conjunct predicate.
  • clickbench: Q35 1.29x, Q36–Q42 1.10–1.32x faster; Q26/Q27 ~5–9% slower (tight stddev); net −0.6%.
  • tpcds_sf1: net +1.8% slower, with ~10 queries 5–14% slower (Q4, Q6, Q61, Q62, Q75, Q82 have tight stddev, the rest are noisy). These are cheap-comparison predicates: the settle guard only compares measured conjunct cost, not BinaryExpr's per-level evaluation overhead, so it adopts reorders that buy nothing. Same effect as the k4 microbenchmark in the description. Fix: account for evaluator overhead in the guard (follow-up, or in this PR if preferred).

Main vs PR, flag off both sides

  • tpcds and clickbench: neutral.
  • tpch: +2–3% total with Q9/Q13/Q18/Q22 6–13% slower. Q9 has a single-conjunct filter, which the flag-off path cannot touch, so this looks like binary layout / noise; a pinned A/A run on the PR head is queued to confirm.

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5567324414-2198-b29tp 6.12.94+ #1 SMP Fri Jul 17 09:42:57 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpch10
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing 12c9a05 (12c9a05) to 12c9a05 diff

Run configuration
run benchmark tpch10
baseline:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
changed:
  ref: "12c9a05490090905317181368e0915b02e7d6924"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 309.12 ms │              310.16 ms │     no change │
│ QQuery 2  │  88.20 ms │               89.82 ms │     no change │
│ QQuery 3  │ 213.44 ms │              215.35 ms │     no change │
│ QQuery 4  │ 111.09 ms │              110.52 ms │     no change │
│ QQuery 5  │ 349.03 ms │              336.55 ms │     no change │
│ QQuery 6  │ 129.94 ms │              120.53 ms │ +1.08x faster │
│ QQuery 7  │ 498.17 ms │              434.84 ms │ +1.15x faster │
│ QQuery 8  │ 377.68 ms │              351.85 ms │ +1.07x faster │
│ QQuery 9  │ 572.52 ms │              511.88 ms │ +1.12x faster │
│ QQuery 10 │ 294.39 ms │              290.48 ms │     no change │
│ QQuery 11 │  60.46 ms │               61.21 ms │     no change │
│ QQuery 12 │ 177.09 ms │              179.06 ms │     no change │
│ QQuery 13 │ 304.59 ms │              289.74 ms │     no change │
│ QQuery 14 │ 167.70 ms │              167.52 ms │     no change │
│ QQuery 15 │ 295.95 ms │              295.09 ms │     no change │
│ QQuery 16 │  63.87 ms │               63.17 ms │     no change │
│ QQuery 17 │ 603.51 ms │              547.95 ms │ +1.10x faster │
│ QQuery 18 │ 670.37 ms │              669.23 ms │     no change │
│ QQuery 19 │ 240.73 ms │              237.34 ms │     no change │
│ QQuery 20 │ 267.74 ms │              257.92 ms │     no change │
│ QQuery 21 │ 659.43 ms │              646.42 ms │     no change │
│ QQuery 22 │  59.75 ms │               65.21 ms │  1.09x slower │
└───────────┴───────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6514.77ms │
│ Total Time (lift-selectivity-stats)   │ 6251.86ms │
│ Average Time (HEAD)                   │  296.13ms │
│ Average Time (lift-selectivity-stats) │  284.18ms │
│ Queries Faster                        │         5 │
│ Queries Slower                        │         1 │
│ Queries with No Change                │        16 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and lift-selectivity-stats
--------------------
Benchmark tpch_sf10.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃             lift-selectivity-stats ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  309.12 / 313.62 ±5.20 / 323.31 ms │  310.16 / 315.91 ±3.88 / 321.44 ms │     no change │
│ QQuery 2  │     88.20 / 89.39 ±0.90 / 90.96 ms │     89.82 / 92.26 ±2.82 / 97.60 ms │     no change │
│ QQuery 3  │  213.44 / 217.39 ±2.88 / 221.45 ms │  215.35 / 217.75 ±1.38 / 219.23 ms │     no change │
│ QQuery 4  │  111.09 / 113.33 ±2.06 / 116.62 ms │  110.52 / 112.48 ±1.59 / 114.69 ms │     no change │
│ QQuery 5  │ 349.03 / 356.88 ±13.13 / 383.09 ms │  336.55 / 346.73 ±8.76 / 357.64 ms │     no change │
│ QQuery 6  │  129.94 / 132.21 ±2.04 / 135.51 ms │  120.53 / 122.12 ±1.60 / 125.10 ms │ +1.08x faster │
│ QQuery 7  │  498.17 / 502.68 ±3.59 / 507.76 ms │  434.84 / 440.38 ±5.25 / 446.82 ms │ +1.14x faster │
│ QQuery 8  │  377.68 / 382.01 ±2.83 / 384.83 ms │  351.85 / 357.34 ±4.77 / 364.82 ms │ +1.07x faster │
│ QQuery 9  │ 572.52 / 589.80 ±17.28 / 621.88 ms │  511.88 / 521.46 ±6.77 / 529.77 ms │ +1.13x faster │
│ QQuery 10 │  294.39 / 305.92 ±6.60 / 314.98 ms │  290.48 / 295.44 ±5.75 / 306.61 ms │     no change │
│ QQuery 11 │     60.46 / 64.42 ±5.94 / 76.22 ms │     61.21 / 64.68 ±5.16 / 74.77 ms │     no change │
│ QQuery 12 │  177.09 / 180.62 ±3.15 / 186.22 ms │  179.06 / 188.60 ±9.27 / 205.59 ms │     no change │
│ QQuery 13 │  304.59 / 312.15 ±9.82 / 330.76 ms │ 289.74 / 317.41 ±19.35 / 342.27 ms │     no change │
│ QQuery 14 │  167.70 / 172.69 ±4.57 / 178.98 ms │  167.52 / 172.40 ±6.87 / 185.98 ms │     no change │
│ QQuery 15 │  295.95 / 299.46 ±2.42 / 303.42 ms │  295.09 / 298.52 ±2.45 / 301.16 ms │     no change │
│ QQuery 16 │     63.87 / 67.34 ±2.48 / 70.92 ms │     63.17 / 66.44 ±1.82 / 68.42 ms │     no change │
│ QQuery 17 │ 603.51 / 642.63 ±29.96 / 677.92 ms │  547.95 / 558.18 ±7.56 / 570.71 ms │ +1.15x faster │
│ QQuery 18 │ 670.37 / 692.50 ±13.82 / 706.93 ms │ 669.23 / 696.93 ±24.24 / 737.32 ms │     no change │
│ QQuery 19 │ 240.73 / 255.69 ±12.56 / 271.71 ms │ 237.34 / 249.55 ±12.09 / 267.48 ms │     no change │
│ QQuery 20 │  267.74 / 275.84 ±4.19 / 279.49 ms │  257.92 / 268.85 ±8.19 / 280.14 ms │     no change │
│ QQuery 21 │ 659.43 / 682.32 ±23.38 / 722.74 ms │ 646.42 / 698.36 ±38.21 / 734.75 ms │     no change │
│ QQuery 22 │     59.75 / 62.18 ±2.07 / 65.38 ms │     65.21 / 69.64 ±3.96 / 75.09 ms │  1.12x slower │
└───────────┴────────────────────────────────────┴────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 6711.05ms │
│ Total Time (lift-selectivity-stats)   │ 6471.43ms │
│ Average Time (HEAD)                   │  305.05ms │
│ Average Time (lift-selectivity-stats) │  294.16ms │
│ Queries Faster                        │         5 │
│ Queries Slower                        │         1 │
│ Queries with No Change                │        16 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpch10 — base (merge-base)

Metric Value
Wall time 35.0s
Peak memory 4.6 GiB
Avg memory 1.5 GiB
CPU user 339.8s
CPU sys 19.9s
Peak spill 0 B

tpch10 — branch

Metric Value
Wall time 35.0s
Peak memory 5.3 GiB
Avg memory 1.7 GiB
CPU user 329.8s
CPU sys 18.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb

adriangb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

A/A control on tpch10 (trigger: same PR head, same config on both sides) shows ±7–15% per-query swings (Q7 1.14x, Q9 1.13x, Q17 1.15x, Q22 1.12x) and a 4% total difference between two runs of the identical binary. So the flag-off tpch "regression" in the main-vs-PR run above is noise; nothing in the flag-off path shows up above the floor. The same floor applies to single per-query flags in the other suites, so the tpcds +1.8% net with the flag on is suggestive, not proven; the microbenchmark result behind it (cheap-predicate reorders adopted with no payoff) is the more reliable evidence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto detected api change Auto detected API change common Related to common crate documentation Improvements or additions to documentation performance Make DataFusion faster physical-plan Changes to the physical-plan crate sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants