Skip to content

feat(pruning): prune containers through CASE predicates - #24238

Draft
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:prototype/pruning-case-or
Draft

feat(pruning): prune containers through CASE predicates#24238
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:prototype/pruning-case-or

Conversation

@adriangb

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • Closes #.

Related: #20195 (dynamic filtering on partitioned data from a file source), #24095 (A/B benchmark for dynamic filtering on range-partitioned hash joins).

Rationale for this change

datafusion/pruning has no handling for CaseExpr. When a predicate is (or contains) a CASE, build_predicate_expression falls through to ConstantUnhandledPredicateHook, which rewrites it to lit(true) — i.e. the predicate contributes nothing to container pruning.

That matters because dynamic filters pushed down from a hash-partitioned join arrive at the scan wrapped in a partition switch, one arm per partition. This is a real plan from TPC-H q18 at target_partitions=12 (dfbench --debug, orders scan):

DynamicFilter [ CASE hash_repartition % 12
  WHEN 0  THEN o_orderkey@0 >= 857959 AND o_orderkey@0 <= 4290656 AND o_orderkey@0 IN (SET) (...)
  WHEN 1  THEN o_orderkey@0 >= 6882   AND o_orderkey@0 <= 5832321 AND o_orderkey@0 IN (SET) (...)
  ...
  ELSE false END ]

On main this whole thing is invisible to pruning: the orders scan has no pruning_predicate at all.

What changes are included in this PR?

A CaseExpr arm in build_predicate_expression (datafusion/pruning/src/pruning_predicate.rs) that rewrites a CASE used as a predicate into the disjunction of its arms:

CASE [expr] WHEN v1 THEN t1 WHEN v2 THEN t2 ELSE e END
  =>  prune(t1) OR prune(t2) OR prune(e)

The WHEN values are deliberately dropped. A container (row group, file, ...) can only be pruned if no row in it can pass, and a container may hold rows from any partition, so the arms must be OR'd. Dropping the WHENs only weakens the predicate — container pruning is inherently a relaxation, so this is sound.

Details:

  • A missing ELSE is an implicit NULL, which never passes a filter, so it contributes nothing (it must not become true).
  • An arm that is statically false (empty partitions are emitted as lit(false)) drops out.
  • An arm that cannot be rewritten becomes true via the unhandled hook, making the whole disjunction true — no pruning, never a wrong prune.
  • If every arm drops out the result is false and all containers are pruned.

Are these changes tested?

Yes — 7 new unit tests in datafusion/pruning/src/pruning_predicate.rs covering both CASE shapes (with and without a base expression), a missing/NULL ELSE, false arms dropping out, an all-false CASE pruning everything, an unhandled arm degrading to true, and an end-to-end prune with the partitioned-ranges shape a hash-partitioned dynamic filter actually produces.

cargo test -p datafusion-pruning --lib → 96 passed. Full sqllogictest suite → 502/502 files, no .slt changes needed. cargo fmt --all --check and clippy with the CI feature set are clean.

Are there any user-facing changes?

No API change. The only user-visible effect is that scans behind a CASE predicate may now prune containers. Please read the measurements below before judging this worth merging — the honest summary is that the win is narrow and there are costs.


Measurements

TPC-H SF=1, parquet, 12 physical cores, target_partitions=12. Both binaries built from the same worktree and the same target dir (build change → copy binary aside → revert the file → rebuild → copy aside; the two binaries were asserted to differ). 12 rounds × --iterations 5, median per round, ordering counterbalanced within rounds (change-first on odd rounds, baseline-first on even). q1 and q6 are controls: they have no joins and no dynamic filters, so this change cannot affect them, and their measured delta is the noise floor.

Positive % = the change is slower.

query base ms case ms order A,B order B,A pooled IQR verdict
q1 (control) 34.1 35.0 +2.18% +2.26% +2.26% [+1.40, +3.61] noise floor
q6 (control) 13.2 12.8 −0.48% −5.61% −3.60% [−5.76, +0.49] noise floor
q3 22.3 23.1 +0.77% +6.38% +3.88% [+0.10, +8.70] not established (order-dominated)
q5 29.0 29.9 +2.75% +6.11% +3.52% [+2.61, +7.57] within noise floor
q7 32.5 33.5 +4.41% +1.74% +3.57% [+0.53, +5.29] within noise floor
q8 28.3 28.7 +1.25% −0.40% −0.34% [−1.60, +4.36] within noise floor
q9 35.4 35.9 +1.91% +2.00% +1.91% [+1.04, +3.35] within noise floor
q12 20.5 20.8 +1.55% +1.35% +1.39% [+0.86, +4.32] within noise floor
q17 54.1 55.2 +2.26% +0.62% +1.38% [+0.14, +5.73] within noise floor
q18 51.7 46.2 −9.92% −10.12% −9.92% [−13.77, −6.46] real win
q19 23.3 23.2 −2.55% +2.19% +0.34% [−2.37, +3.11] within noise floor
q20 21.0 22.0 +5.00% +5.61% +5.35% [+4.24, +6.41] real regression
q21 42.4 42.5 +1.50% +2.28% +1.82% [+1.19, +3.61] within noise floor

The control floor is ±3.6%. Note that control q1 shows a sign-consistent +2.26% across both orderings for a change that provably cannot affect it — so there is a systematic build/code-layout bias of about +2% on top of run-to-run variance. Nothing in the table below ~3.6% should be read as an effect of this change, and the earlier numbers I had on this branch (a claimed +1–5% spread of regressions on q7/q9/q12/q19/q3/q5/q21) do not survive this protocol.

What survives:

  • q18: −9.9%, reproduced in both orderings independently (−9.92% / −10.12%), roughly 3× the control floor.
  • q20: +5.35%, sign-consistent in both orderings with a tight IQR. Real, though only ~1.5× the floor.
  • q3: +3.88% pooled, but +0.77% vs +6.38% depending on ordering — that is an ordering artifact, not an established regression.

Mechanical evidence for q18 (this is the part timing noise cannot fake)

dfbench --debug, TPC-H q18, the orders scan:

pruning_predicate row groups bytes_scanned
main absent 16 → 16 matched 30.19 MB
this PR present 16 → 15 matched 23.65 MB

A row group is pruned and 6.5 MB less is read. That is the whole win.

I also diffed bytes_scanned and row-group counts for every scan in all 13 queries above:

q18 is the only query in the set where the change alters what is read at all. For q1, q3, q5, q6, q7, q8, q9, q12, q17, q19, q20 and q21 the plans scan byte-identical data and prune identical row-group counts on both builds.

So for everything except q18 this change is pure cost with zero benefit, and q20's +5.35% is that cost showing up above the noise.

Why the effect is nil for most hash-partitioned joins

The q18 orders scan carries two dynamic filters. The one on o_custkey is useless, and it shows exactly why:

WHEN 0  THEN o_custkey >= 20 AND o_custkey <= 149989
WHEN 1  THEN o_custkey >= 1  AND o_custkey <= 149999
WHEN 2  THEN o_custkey >= 13 AND o_custkey <= 149996
...                                    (12 arms, domain is [1, 150000])

Hash partitioning scatters keys, so on a dense key column every partition's min/max converges on the full domain, and the OR of 12 near-full ranges is the full domain. This is not a weakness of the rewrite — no min/max-based rewrite can do better on this input.

q18 wins only because its other dynamic filter comes from a semi-join against ... group by l_orderkey having sum(l_quantity) > 300, whose build side is tiny and sparse. There each arm is genuinely narrow and their union still excludes a row group.

The realistic conclusion: this helps selective semi-joins / small build sides, and does nothing for hash-partitioned equi-joins on dense keys.

Known follow-up (the lever, if the cost needs fixing)

The generated predicate repeats the null-count guard twice per arm:

o_custkey_null_count != row_count AND o_custkey_max >= 20 AND
o_custkey_null_count != row_count AND o_custkey_min <= 149989   OR   ... (×12)

That is ~4 redundant subterms per arm, and the arm count scales with target_partitions — so the predicate this builds grows linearly with core count while its selectivity does not. That redundancy, not the OR structure itself, is the lever if the q20-style regression needs to be addressed; deduplicating the guards (or hoisting them out of the disjunction) should remove most of the added evaluation cost without changing what gets pruned.

Filed as a draft because the cost/benefit above is genuinely marginal and I would like input on whether it is worth carrying.

adriangb and others added 2 commits August 10, 2026 16:32
`build_predicate_expression` had no arm for `CaseExpr`, so any predicate
whose top level (or a conjunct of it) is a `CASE` was handed to the
unhandled hook and rewritten to `true`, contributing nothing to pruning.

This shows up for dynamic filters pushed down from hash partitioned
joins: the filter arrives at the scan wrapped in a partition switch, one
arm per partition, e.g.

  CASE hash(l_orderkey) % 4
    WHEN 0 THEN l_orderkey >= 165 AND l_orderkey <= 5999783 AND ...
    WHEN 1 THEN ...
    ELSE false
  END

A container (row group, file, ...) may hold rows from any partition, so
the container level predicate is the disjunction of the arms' `THEN`
predicates. The `WHEN` values are not expressible in terms of container
statistics and are dropped, which only weakens the predicate and is
therefore sound.

Arms that can never be `true` (`false` or `NULL` literals, and the
implicit `NULL` of a missing `ELSE`) drop out of the disjunction; an arm
that can not be rewritten becomes `true` via the unhandled hook and so
makes the whole `CASE` `true` (no pruning), never `false`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Covers both `CASE` shapes (with and without a base expression), a
missing/NULL `ELSE`, `false` arms dropping out of the disjunction, an
all-`false` `CASE` pruning everything, an unhandled arm degrading to
`true`, and an end to end prune with the partitioned-ranges shape a
dynamic filter from a hash partitioned join produces.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@adriangb

Copy link
Copy Markdown
Contributor Author

run benchmarks

@adriangb

Copy link
Copy Markdown
Contributor Author

show benchmark queue

@adriangbot

Copy link
Copy Markdown

Hi @adriangb, you asked to view the benchmark queue (#24238 (comment)).

Comment Repo PR User Benchmarks Status
#5246874308 apache/datafusion #24238 adriangb ["clickbench_partitioned"] running
#5246874308 apache/datafusion #24238 adriangb ["tpcds"] running
#5246874308 apache/datafusion #24238 adriangb ["tpch"] running

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-c5246874308-1537-klw7x 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 prototype/pruning-case-or (db3fd52) to 33ad1cc (merge-base) diff

Run configuration
run benchmark tpch

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-c5246874308-1535-st6zw 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 prototype/pruning-case-or (db3fd52) to 33ad1cc (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-c5246874308-1536-v69bk 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 prototype/pruning-case-or (db3fd52) to 33ad1cc (merge-base) diff

Run configuration
run benchmark tpcds

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 prototype/pruning-case-or (db3fd52) to 33ad1cc (merge-base) diff

Run configuration
run benchmark tpch
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 prototype_pruning-case-or
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ prototype_pruning-case-or ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │ 38.08 ms │                  38.50 ms │    no change │
│ QQuery 2  │ 19.19 ms │                  19.19 ms │    no change │
│ QQuery 3  │ 30.91 ms │                  31.29 ms │    no change │
│ QQuery 4  │ 17.45 ms │                  17.29 ms │    no change │
│ QQuery 5  │ 39.74 ms │                  38.90 ms │    no change │
│ QQuery 6  │ 15.87 ms │                  17.27 ms │ 1.09x slower │
│ QQuery 7  │ 44.02 ms │                  50.90 ms │ 1.16x slower │
│ QQuery 8  │ 42.23 ms │                  46.16 ms │ 1.09x slower │
│ QQuery 9  │ 49.30 ms │                  53.60 ms │ 1.09x slower │
│ QQuery 10 │ 41.57 ms │                  45.48 ms │ 1.09x slower │
│ QQuery 11 │ 13.22 ms │                  14.84 ms │ 1.12x slower │
│ QQuery 12 │ 23.66 ms │                  25.81 ms │ 1.09x slower │
│ QQuery 13 │ 33.53 ms │                  36.08 ms │ 1.08x slower │
│ QQuery 14 │ 22.81 ms │                  25.38 ms │ 1.11x slower │
│ QQuery 15 │ 30.14 ms │                  32.96 ms │ 1.09x slower │
│ QQuery 16 │ 13.51 ms │                  14.71 ms │ 1.09x slower │
│ QQuery 17 │ 69.48 ms │                  84.11 ms │ 1.21x slower │
│ QQuery 18 │ 58.30 ms │                  59.05 ms │    no change │
│ QQuery 19 │ 32.26 ms │                  35.06 ms │ 1.09x slower │
│ QQuery 20 │ 31.21 ms │                  35.49 ms │ 1.14x slower │
│ QQuery 21 │ 54.02 ms │                  61.72 ms │ 1.14x slower │
│ QQuery 22 │ 13.49 ms │                  15.12 ms │ 1.12x slower │
└───────────┴──────────┴───────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                        ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 734.01ms │
│ Total Time (prototype_pruning-case-or)   │ 798.91ms │
│ Average Time (HEAD)                      │  33.36ms │
│ Average Time (prototype_pruning-case-or) │  36.31ms │
│ Queries Faster                           │        0 │
│ Queries Slower                           │       16 │
│ Queries with No Change                   │        6 │
│ Queries with Failure                     │        0 │
└──────────────────────────────────────────┴──────────┘

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

Comparing HEAD and prototype_pruning-case-or
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃      prototype_pruning-case-or ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │ 38.08 / 38.99 ±1.23 / 41.38 ms │ 38.50 / 39.46 ±1.05 / 41.28 ms │    no change │
│ QQuery 2  │ 19.19 / 19.50 ±0.33 / 20.06 ms │ 19.19 / 19.91 ±0.55 / 20.85 ms │    no change │
│ QQuery 3  │ 30.91 / 32.59 ±0.89 / 33.32 ms │ 31.29 / 33.58 ±1.16 / 34.29 ms │    no change │
│ QQuery 4  │ 17.45 / 18.21 ±0.89 / 19.53 ms │ 17.29 / 17.50 ±0.17 / 17.79 ms │    no change │
│ QQuery 5  │ 39.74 / 40.31 ±0.29 / 40.48 ms │ 38.90 / 42.94 ±2.68 / 46.07 ms │ 1.07x slower │
│ QQuery 6  │ 15.87 / 16.10 ±0.20 / 16.36 ms │ 17.27 / 17.80 ±0.85 / 19.49 ms │ 1.11x slower │
│ QQuery 7  │ 44.02 / 45.86 ±1.50 / 48.56 ms │ 50.90 / 52.07 ±1.12 / 54.15 ms │ 1.14x slower │
│ QQuery 8  │ 42.23 / 42.45 ±0.26 / 42.91 ms │ 46.16 / 46.74 ±0.80 / 48.32 ms │ 1.10x slower │
│ QQuery 9  │ 49.30 / 50.27 ±1.08 / 52.30 ms │ 53.60 / 56.19 ±1.42 / 57.31 ms │ 1.12x slower │
│ QQuery 10 │ 41.57 / 42.49 ±1.35 / 45.18 ms │ 45.48 / 46.83 ±1.49 / 48.73 ms │ 1.10x slower │
│ QQuery 11 │ 13.22 / 13.45 ±0.17 / 13.74 ms │ 14.84 / 14.98 ±0.11 / 15.18 ms │ 1.11x slower │
│ QQuery 12 │ 23.66 / 23.97 ±0.19 / 24.24 ms │ 25.81 / 27.35 ±2.04 / 31.32 ms │ 1.14x slower │
│ QQuery 13 │ 33.53 / 37.12 ±2.93 / 42.38 ms │ 36.08 / 37.03 ±0.84 / 38.10 ms │    no change │
│ QQuery 14 │ 22.81 / 23.22 ±0.32 / 23.73 ms │ 25.38 / 25.49 ±0.11 / 25.69 ms │ 1.10x slower │
│ QQuery 15 │ 30.14 / 30.92 ±0.82 / 32.49 ms │ 32.96 / 33.82 ±0.84 / 35.27 ms │ 1.09x slower │
│ QQuery 16 │ 13.51 / 13.86 ±0.19 / 14.07 ms │ 14.71 / 15.05 ±0.21 / 15.32 ms │ 1.09x slower │
│ QQuery 17 │ 69.48 / 70.20 ±0.62 / 71.08 ms │ 84.11 / 85.88 ±1.63 / 88.66 ms │ 1.22x slower │
│ QQuery 18 │ 58.30 / 60.43 ±2.29 / 64.86 ms │ 59.05 / 60.30 ±0.83 / 61.66 ms │    no change │
│ QQuery 19 │ 32.26 / 32.90 ±0.66 / 33.94 ms │ 35.06 / 35.78 ±1.09 / 37.90 ms │ 1.09x slower │
│ QQuery 20 │ 31.21 / 31.66 ±0.44 / 32.50 ms │ 35.49 / 35.91 ±0.44 / 36.72 ms │ 1.13x slower │
│ QQuery 21 │ 54.02 / 55.56 ±1.05 / 56.82 ms │ 61.72 / 63.41 ±1.25 / 65.60 ms │ 1.14x slower │
│ QQuery 22 │ 13.49 / 13.94 ±0.42 / 14.66 ms │ 15.12 / 15.41 ±0.19 / 15.71 ms │ 1.11x slower │
└───────────┴────────────────────────────────┴────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                        ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 754.00ms │
│ Total Time (prototype_pruning-case-or)   │ 823.43ms │
│ Average Time (HEAD)                      │  34.27ms │
│ Average Time (prototype_pruning-case-or) │  37.43ms │
│ Queries Faster                           │        0 │
│ Queries Slower                           │       16 │
│ Queries with No Change                   │        6 │
│ Queries with Failure                     │        0 │
└──────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 514.7 MiB
CPU user 21.4s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 673.1 MiB
CPU user 23.5s
CPU sys 1.9s
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 prototype/pruning-case-or (db3fd52) to 33ad1cc (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 prototype_pruning-case-or
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ prototype_pruning-case-or ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.55 ms │                   5.59 ms │    no change │
│ QQuery 2  │   81.00 ms │                  80.56 ms │    no change │
│ QQuery 3  │   29.25 ms │                  29.16 ms │    no change │
│ QQuery 4  │  491.09 ms │                 481.63 ms │    no change │
│ QQuery 5  │   51.80 ms │                  51.75 ms │    no change │
│ QQuery 6  │   36.74 ms │                  36.60 ms │    no change │
│ QQuery 7  │   93.59 ms │                  93.77 ms │    no change │
│ QQuery 8  │   37.07 ms │                  36.80 ms │    no change │
│ QQuery 9  │   52.05 ms │                  51.55 ms │    no change │
│ QQuery 10 │   62.19 ms │                  62.24 ms │    no change │
│ QQuery 11 │  301.26 ms │                 303.28 ms │    no change │
│ QQuery 12 │   28.77 ms │                  28.63 ms │    no change │
│ QQuery 13 │  118.04 ms │                 118.70 ms │    no change │
│ QQuery 14 │  417.25 ms │                 422.22 ms │    no change │
│ QQuery 15 │   58.13 ms │                  57.19 ms │    no change │
│ QQuery 16 │    6.59 ms │                   6.66 ms │    no change │
│ QQuery 17 │   79.85 ms │                  80.00 ms │    no change │
│ QQuery 18 │  123.85 ms │                 121.80 ms │    no change │
│ QQuery 19 │   41.62 ms │                  41.32 ms │    no change │
│ QQuery 20 │   36.18 ms │                  35.48 ms │    no change │
│ QQuery 21 │   17.73 ms │                  17.22 ms │    no change │
│ QQuery 22 │   64.68 ms │                  63.02 ms │    no change │
│ QQuery 23 │  341.75 ms │                 337.84 ms │    no change │
│ QQuery 24 │  224.67 ms │                 224.20 ms │    no change │
│ QQuery 25 │  109.12 ms │                 110.62 ms │    no change │
│ QQuery 26 │   57.49 ms │                  57.69 ms │    no change │
│ QQuery 27 │    6.36 ms │                   6.28 ms │    no change │
│ QQuery 28 │   60.64 ms │                  60.22 ms │    no change │
│ QQuery 29 │   96.13 ms │                  97.37 ms │    no change │
│ QQuery 30 │   32.00 ms │                  31.79 ms │    no change │
│ QQuery 31 │  109.98 ms │                 110.85 ms │    no change │
│ QQuery 32 │   19.99 ms │                  20.03 ms │    no change │
│ QQuery 33 │   37.62 ms │                  37.78 ms │    no change │
│ QQuery 34 │    9.83 ms │                   9.86 ms │    no change │
│ QQuery 35 │   72.49 ms │                  72.21 ms │    no change │
│ QQuery 36 │    5.92 ms │                   5.81 ms │    no change │
│ QQuery 37 │    7.01 ms │                   6.90 ms │    no change │
│ QQuery 38 │   61.71 ms │                  61.42 ms │    no change │
│ QQuery 39 │   89.33 ms │                  90.37 ms │    no change │
│ QQuery 40 │   23.71 ms │                  23.57 ms │    no change │
│ QQuery 41 │   11.79 ms │                  11.40 ms │    no change │
│ QQuery 42 │   24.20 ms │                  23.49 ms │    no change │
│ QQuery 43 │    5.06 ms │                   5.07 ms │    no change │
│ QQuery 44 │    9.32 ms │                   9.06 ms │    no change │
│ QQuery 45 │   38.26 ms │                  37.54 ms │    no change │
│ QQuery 46 │   12.18 ms │                  11.68 ms │    no change │
│ QQuery 47 │  226.04 ms │                 226.23 ms │    no change │
│ QQuery 48 │   97.93 ms │                  95.28 ms │    no change │
│ QQuery 49 │   76.76 ms │                  76.58 ms │    no change │
│ QQuery 50 │   59.15 ms │                  59.36 ms │    no change │
│ QQuery 51 │   89.68 ms │                  92.12 ms │    no change │
│ QQuery 52 │   23.87 ms │                  23.78 ms │    no change │
│ QQuery 53 │   29.27 ms │                  29.12 ms │    no change │
│ QQuery 54 │   54.61 ms │                  54.71 ms │    no change │
│ QQuery 55 │   23.57 ms │                  23.42 ms │    no change │
│ QQuery 56 │   39.14 ms │                  39.20 ms │    no change │
│ QQuery 57 │  176.11 ms │                 175.17 ms │    no change │
│ QQuery 58 │  112.48 ms │                 113.10 ms │    no change │
│ QQuery 59 │  117.73 ms │                 117.66 ms │    no change │
│ QQuery 60 │   39.94 ms │                  39.16 ms │    no change │
│ QQuery 61 │   12.28 ms │                  12.11 ms │    no change │
│ QQuery 62 │   46.27 ms │                  46.50 ms │    no change │
│ QQuery 63 │   29.43 ms │                  29.43 ms │    no change │
│ QQuery 64 │  406.95 ms │                 409.17 ms │    no change │
│ QQuery 65 │  121.92 ms │                 122.32 ms │    no change │
│ QQuery 66 │   80.28 ms │                  81.23 ms │    no change │
│ QQuery 67 │  240.92 ms │                 239.14 ms │    no change │
│ QQuery 68 │   11.82 ms │                  11.89 ms │    no change │
│ QQuery 69 │   56.79 ms │                  56.47 ms │    no change │
│ QQuery 70 │  106.39 ms │                 107.69 ms │    no change │
│ QQuery 71 │   35.08 ms │                  35.11 ms │    no change │
│ QQuery 72 │ 1988.79 ms │                1929.52 ms │    no change │
│ QQuery 73 │    9.62 ms │                   9.68 ms │    no change │
│ QQuery 74 │  169.66 ms │                 169.01 ms │    no change │
│ QQuery 75 │  146.84 ms │                 150.30 ms │    no change │
│ QQuery 76 │   34.68 ms │                  34.80 ms │    no change │
│ QQuery 77 │   61.00 ms │                  61.33 ms │    no change │
│ QQuery 78 │  196.93 ms │                 195.10 ms │    no change │
│ QQuery 79 │   66.44 ms │                  67.18 ms │    no change │
│ QQuery 80 │   98.59 ms │                  98.83 ms │    no change │
│ QQuery 81 │   26.51 ms │                  26.13 ms │    no change │
│ QQuery 82 │   16.31 ms │                  16.73 ms │    no change │
│ QQuery 83 │   39.83 ms │                  39.89 ms │    no change │
│ QQuery 84 │   29.77 ms │                  30.13 ms │    no change │
│ QQuery 85 │  105.80 ms │                 107.76 ms │    no change │
│ QQuery 86 │   24.99 ms │                  25.07 ms │    no change │
│ QQuery 87 │   61.97 ms │                  61.01 ms │    no change │
│ QQuery 88 │   62.35 ms │                  63.51 ms │    no change │
│ QQuery 89 │   35.55 ms │                  35.89 ms │    no change │
│ QQuery 90 │   17.01 ms │                  16.89 ms │    no change │
│ QQuery 91 │   46.29 ms │                  50.11 ms │ 1.08x slower │
│ QQuery 92 │   29.37 ms │                  29.49 ms │    no change │
│ QQuery 93 │   48.73 ms │                  49.73 ms │    no change │
│ QQuery 94 │   38.11 ms │                  37.89 ms │    no change │
│ QQuery 95 │   80.10 ms │                  80.70 ms │    no change │
│ QQuery 96 │   23.69 ms │                  23.75 ms │    no change │
│ QQuery 97 │   46.63 ms │                  46.68 ms │    no change │
│ QQuery 98 │   42.29 ms │                  42.85 ms │    no change │
│ QQuery 99 │   70.48 ms │                  70.34 ms │    no change │
└───────────┴────────────┴───────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 9633.61ms │
│ Total Time (prototype_pruning-case-or)   │ 9574.43ms │
│ Average Time (HEAD)                      │   97.31ms │
│ Average Time (prototype_pruning-case-or) │   96.71ms │
│ 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 prototype_pruning-case-or
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             prototype_pruning-case-or ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.55 / 6.03 ±0.86 / 7.75 ms │           5.59 / 6.08 ±0.85 / 7.79 ms │     no change │
│ QQuery 2  │        81.00 / 81.49 ±0.44 / 82.10 ms │        80.56 / 80.88 ±0.20 / 81.09 ms │     no change │
│ QQuery 3  │        29.25 / 29.38 ±0.11 / 29.56 ms │        29.16 / 29.33 ±0.14 / 29.54 ms │     no change │
│ QQuery 4  │     491.09 / 494.69 ±2.81 / 499.77 ms │     481.63 / 484.29 ±2.05 / 487.65 ms │     no change │
│ QQuery 5  │        51.80 / 52.50 ±0.51 / 53.37 ms │        51.75 / 55.16 ±4.65 / 64.30 ms │  1.05x slower │
│ QQuery 6  │        36.74 / 37.04 ±0.21 / 37.37 ms │        36.60 / 37.11 ±0.55 / 38.14 ms │     no change │
│ QQuery 7  │        93.59 / 94.41 ±0.48 / 94.97 ms │        93.77 / 94.23 ±0.34 / 94.74 ms │     no change │
│ QQuery 8  │        37.07 / 38.75 ±2.20 / 42.92 ms │        36.80 / 38.78 ±3.00 / 44.63 ms │     no change │
│ QQuery 9  │        52.05 / 54.78 ±2.26 / 57.40 ms │        51.55 / 53.99 ±1.49 / 55.55 ms │     no change │
│ QQuery 10 │        62.19 / 62.62 ±0.27 / 62.92 ms │        62.24 / 63.02 ±0.58 / 63.71 ms │     no change │
│ QQuery 11 │     301.26 / 303.05 ±1.31 / 304.79 ms │     303.28 / 307.61 ±3.09 / 311.32 ms │     no change │
│ QQuery 12 │        28.77 / 29.03 ±0.21 / 29.28 ms │        28.63 / 29.03 ±0.28 / 29.41 ms │     no change │
│ QQuery 13 │     118.04 / 118.72 ±0.40 / 119.24 ms │     118.70 / 118.80 ±0.06 / 118.89 ms │     no change │
│ QQuery 14 │     417.25 / 421.35 ±4.61 / 430.08 ms │     422.22 / 425.64 ±3.63 / 432.55 ms │     no change │
│ QQuery 15 │        58.13 / 58.95 ±0.67 / 59.82 ms │        57.19 / 57.88 ±0.51 / 58.62 ms │     no change │
│ QQuery 16 │           6.59 / 6.82 ±0.21 / 7.20 ms │           6.66 / 6.78 ±0.22 / 7.22 ms │     no change │
│ QQuery 17 │        79.85 / 81.19 ±1.46 / 83.84 ms │        80.00 / 80.75 ±0.54 / 81.69 ms │     no change │
│ QQuery 18 │     123.85 / 125.05 ±1.03 / 126.59 ms │     121.80 / 123.78 ±1.41 / 126.12 ms │     no change │
│ QQuery 19 │        41.62 / 42.06 ±0.26 / 42.43 ms │        41.32 / 41.68 ±0.32 / 42.16 ms │     no change │
│ QQuery 20 │        36.18 / 36.73 ±0.51 / 37.65 ms │        35.48 / 35.71 ±0.26 / 36.20 ms │     no change │
│ QQuery 21 │        17.73 / 17.88 ±0.10 / 18.02 ms │        17.22 / 17.62 ±0.50 / 18.60 ms │     no change │
│ QQuery 22 │        64.68 / 66.02 ±1.03 / 67.60 ms │        63.02 / 63.93 ±0.84 / 65.52 ms │     no change │
│ QQuery 23 │     341.75 / 350.24 ±5.35 / 354.65 ms │     337.84 / 342.27 ±3.84 / 347.41 ms │     no change │
│ QQuery 24 │     224.67 / 227.25 ±1.63 / 229.10 ms │     224.20 / 226.47 ±3.19 / 232.70 ms │     no change │
│ QQuery 25 │     109.12 / 110.09 ±0.82 / 111.53 ms │     110.62 / 112.41 ±1.05 / 113.85 ms │     no change │
│ QQuery 26 │        57.49 / 58.86 ±2.24 / 63.33 ms │        57.69 / 60.07 ±3.11 / 65.98 ms │     no change │
│ QQuery 27 │           6.36 / 6.57 ±0.25 / 6.88 ms │           6.28 / 6.38 ±0.14 / 6.66 ms │     no change │
│ QQuery 28 │        60.64 / 61.41 ±0.78 / 62.89 ms │        60.22 / 61.01 ±0.72 / 62.35 ms │     no change │
│ QQuery 29 │        96.13 / 97.15 ±1.21 / 99.44 ms │      97.37 / 100.78 ±3.93 / 108.01 ms │     no change │
│ QQuery 30 │        32.00 / 33.87 ±2.31 / 38.37 ms │        31.79 / 32.78 ±0.64 / 33.73 ms │     no change │
│ QQuery 31 │     109.98 / 111.06 ±1.06 / 112.97 ms │     110.85 / 112.36 ±1.86 / 116.01 ms │     no change │
│ QQuery 32 │        19.99 / 20.24 ±0.26 / 20.69 ms │        20.03 / 20.34 ±0.30 / 20.90 ms │     no change │
│ QQuery 33 │        37.62 / 37.87 ±0.21 / 38.21 ms │        37.78 / 39.20 ±1.99 / 43.12 ms │     no change │
│ QQuery 34 │         9.83 / 11.03 ±1.70 / 14.41 ms │         9.86 / 10.12 ±0.25 / 10.54 ms │ +1.09x faster │
│ QQuery 35 │        72.49 / 73.85 ±1.33 / 76.36 ms │        72.21 / 72.78 ±0.69 / 74.07 ms │     no change │
│ QQuery 36 │           5.92 / 6.07 ±0.19 / 6.45 ms │           5.81 / 5.93 ±0.19 / 6.30 ms │     no change │
│ QQuery 37 │           7.01 / 7.22 ±0.18 / 7.46 ms │           6.90 / 7.07 ±0.20 / 7.45 ms │     no change │
│ QQuery 38 │        61.71 / 62.57 ±0.73 / 63.66 ms │        61.42 / 61.86 ±0.23 / 62.07 ms │     no change │
│ QQuery 39 │        89.33 / 91.89 ±3.56 / 98.96 ms │        90.37 / 92.58 ±2.82 / 97.48 ms │     no change │
│ QQuery 40 │        23.71 / 24.27 ±0.37 / 24.74 ms │        23.57 / 23.76 ±0.21 / 24.16 ms │     no change │
│ QQuery 41 │        11.79 / 11.92 ±0.20 / 12.32 ms │        11.40 / 11.59 ±0.18 / 11.89 ms │     no change │
│ QQuery 42 │        24.20 / 24.48 ±0.17 / 24.66 ms │        23.49 / 23.88 ±0.59 / 25.06 ms │     no change │
│ QQuery 43 │           5.06 / 5.18 ±0.16 / 5.47 ms │           5.07 / 5.16 ±0.11 / 5.36 ms │     no change │
│ QQuery 44 │           9.32 / 9.45 ±0.16 / 9.75 ms │           9.06 / 9.34 ±0.15 / 9.49 ms │     no change │
│ QQuery 45 │        38.26 / 39.39 ±0.59 / 39.93 ms │        37.54 / 38.19 ±0.44 / 38.87 ms │     no change │
│ QQuery 46 │        12.18 / 12.33 ±0.08 / 12.42 ms │        11.68 / 11.89 ±0.23 / 12.30 ms │     no change │
│ QQuery 47 │     226.04 / 229.26 ±3.95 / 237.03 ms │     226.23 / 229.87 ±3.01 / 234.84 ms │     no change │
│ QQuery 48 │       97.93 / 99.98 ±2.95 / 105.85 ms │       95.28 / 97.17 ±2.43 / 101.96 ms │     no change │
│ QQuery 49 │        76.76 / 77.21 ±0.26 / 77.55 ms │        76.58 / 77.21 ±0.40 / 77.66 ms │     no change │
│ QQuery 50 │        59.15 / 61.62 ±3.32 / 68.08 ms │        59.36 / 61.52 ±2.93 / 67.17 ms │     no change │
│ QQuery 51 │        89.68 / 92.61 ±2.44 / 96.65 ms │       92.12 / 94.62 ±3.34 / 101.19 ms │     no change │
│ QQuery 52 │        23.87 / 24.26 ±0.21 / 24.50 ms │        23.78 / 24.00 ±0.16 / 24.27 ms │     no change │
│ QQuery 53 │        29.27 / 29.50 ±0.13 / 29.64 ms │        29.12 / 30.72 ±2.43 / 35.48 ms │     no change │
│ QQuery 54 │        54.61 / 56.52 ±2.22 / 60.77 ms │        54.71 / 55.07 ±0.27 / 55.33 ms │     no change │
│ QQuery 55 │        23.57 / 23.86 ±0.23 / 24.21 ms │        23.42 / 24.04 ±0.74 / 25.32 ms │     no change │
│ QQuery 56 │        39.14 / 39.69 ±0.30 / 39.98 ms │        39.20 / 39.45 ±0.40 / 40.24 ms │     no change │
│ QQuery 57 │     176.11 / 177.12 ±0.72 / 178.06 ms │     175.17 / 178.46 ±2.70 / 182.95 ms │     no change │
│ QQuery 58 │     112.48 / 113.90 ±1.32 / 116.23 ms │     113.10 / 115.08 ±1.98 / 118.31 ms │     no change │
│ QQuery 59 │     117.73 / 118.32 ±0.59 / 119.32 ms │     117.66 / 119.06 ±1.24 / 121.14 ms │     no change │
│ QQuery 60 │        39.94 / 40.22 ±0.23 / 40.51 ms │        39.16 / 39.56 ±0.40 / 40.15 ms │     no change │
│ QQuery 61 │        12.28 / 12.41 ±0.13 / 12.63 ms │        12.11 / 12.31 ±0.24 / 12.77 ms │     no change │
│ QQuery 62 │        46.27 / 47.74 ±2.15 / 52.03 ms │        46.50 / 47.48 ±1.71 / 50.88 ms │     no change │
│ QQuery 63 │        29.43 / 30.41 ±1.11 / 32.58 ms │        29.43 / 29.92 ±0.39 / 30.62 ms │     no change │
│ QQuery 64 │     406.95 / 414.40 ±7.48 / 427.67 ms │     409.17 / 415.98 ±5.78 / 422.86 ms │     no change │
│ QQuery 65 │     121.92 / 124.75 ±1.74 / 127.16 ms │     122.32 / 124.56 ±1.55 / 126.73 ms │     no change │
│ QQuery 66 │        80.28 / 81.89 ±2.20 / 86.20 ms │        81.23 / 84.22 ±2.86 / 88.63 ms │     no change │
│ QQuery 67 │     240.92 / 247.62 ±4.89 / 256.13 ms │     239.14 / 243.46 ±2.23 / 245.16 ms │     no change │
│ QQuery 68 │        11.82 / 12.09 ±0.23 / 12.47 ms │        11.89 / 12.08 ±0.26 / 12.59 ms │     no change │
│ QQuery 69 │        56.79 / 57.23 ±0.36 / 57.71 ms │        56.47 / 58.21 ±2.86 / 63.91 ms │     no change │
│ QQuery 70 │     106.39 / 111.39 ±3.45 / 115.98 ms │     107.69 / 112.30 ±4.95 / 121.28 ms │     no change │
│ QQuery 71 │        35.08 / 35.54 ±0.35 / 36.07 ms │        35.11 / 35.52 ±0.29 / 35.97 ms │     no change │
│ QQuery 72 │ 1988.79 / 2107.28 ±72.86 / 2177.92 ms │ 1929.52 / 2093.35 ±91.11 / 2199.47 ms │     no change │
│ QQuery 73 │         9.62 / 10.39 ±1.33 / 13.04 ms │          9.68 / 9.94 ±0.41 / 10.76 ms │     no change │
│ QQuery 74 │     169.66 / 171.12 ±1.01 / 172.77 ms │     169.01 / 171.29 ±1.85 / 173.84 ms │     no change │
│ QQuery 75 │     146.84 / 148.68 ±1.98 / 152.39 ms │     150.30 / 151.70 ±1.10 / 153.61 ms │     no change │
│ QQuery 76 │        34.68 / 35.06 ±0.32 / 35.55 ms │        34.80 / 35.64 ±1.21 / 38.04 ms │     no change │
│ QQuery 77 │        61.00 / 62.70 ±1.91 / 66.24 ms │        61.33 / 63.98 ±3.05 / 68.60 ms │     no change │
│ QQuery 78 │     196.93 / 200.62 ±3.73 / 205.60 ms │     195.10 / 198.65 ±2.47 / 202.56 ms │     no change │
│ QQuery 79 │        66.44 / 67.09 ±0.56 / 68.10 ms │        67.18 / 68.62 ±1.88 / 72.33 ms │     no change │
│ QQuery 80 │      98.59 / 101.02 ±3.00 / 106.88 ms │      98.83 / 102.26 ±3.53 / 108.59 ms │     no change │
│ QQuery 81 │        26.51 / 27.47 ±1.28 / 29.99 ms │        26.13 / 26.33 ±0.21 / 26.72 ms │     no change │
│ QQuery 82 │        16.31 / 16.77 ±0.30 / 17.17 ms │        16.73 / 16.96 ±0.28 / 17.50 ms │     no change │
│ QQuery 83 │        39.83 / 40.59 ±0.61 / 41.51 ms │        39.89 / 40.51 ±0.38 / 40.94 ms │     no change │
│ QQuery 84 │        29.77 / 29.99 ±0.16 / 30.23 ms │        30.13 / 30.41 ±0.29 / 30.82 ms │     no change │
│ QQuery 85 │     105.80 / 109.65 ±3.52 / 115.64 ms │     107.76 / 111.07 ±4.01 / 118.70 ms │     no change │
│ QQuery 86 │        24.99 / 25.60 ±0.38 / 26.04 ms │        25.07 / 26.54 ±1.96 / 30.40 ms │     no change │
│ QQuery 87 │        61.97 / 62.93 ±0.66 / 63.85 ms │        61.01 / 62.53 ±1.59 / 65.22 ms │     no change │
│ QQuery 88 │        62.35 / 63.21 ±0.57 / 63.91 ms │        63.51 / 63.81 ±0.32 / 64.41 ms │     no change │
│ QQuery 89 │        35.55 / 37.76 ±2.18 / 41.22 ms │        35.89 / 36.38 ±0.34 / 36.78 ms │     no change │
│ QQuery 90 │        17.01 / 17.31 ±0.25 / 17.75 ms │        16.89 / 17.20 ±0.20 / 17.50 ms │     no change │
│ QQuery 91 │        46.29 / 46.71 ±0.37 / 47.25 ms │        50.11 / 50.94 ±1.19 / 53.28 ms │  1.09x slower │
│ QQuery 92 │        29.37 / 29.97 ±0.51 / 30.88 ms │        29.49 / 29.87 ±0.36 / 30.47 ms │     no change │
│ QQuery 93 │        48.73 / 49.94 ±0.83 / 50.94 ms │        49.73 / 50.41 ±0.46 / 51.01 ms │     no change │
│ QQuery 94 │        38.11 / 38.53 ±0.38 / 39.23 ms │        37.89 / 38.59 ±0.85 / 40.23 ms │     no change │
│ QQuery 95 │        80.10 / 82.71 ±3.32 / 89.18 ms │        80.70 / 81.82 ±0.70 / 82.60 ms │     no change │
│ QQuery 96 │        23.69 / 23.95 ±0.20 / 24.22 ms │        23.75 / 24.01 ±0.25 / 24.38 ms │     no change │
│ QQuery 97 │        46.63 / 47.18 ±0.32 / 47.50 ms │        46.68 / 47.13 ±0.35 / 47.70 ms │     no change │
│ QQuery 98 │        42.29 / 42.99 ±0.47 / 43.74 ms │        42.85 / 43.33 ±0.39 / 43.85 ms │     no change │
│ QQuery 99 │        70.48 / 72.61 ±3.75 / 80.09 ms │        70.34 / 71.22 ±1.32 / 73.84 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 9882.22ms │
│ Total Time (prototype_pruning-case-or)   │ 9866.70ms │
│ Average Time (HEAD)                      │   99.82ms │
│ Average Time (prototype_pruning-case-or) │   99.66ms │
│ Queries Faster                           │         1 │
│ Queries Slower                           │         2 │
│ Queries with No Change                   │        96 │
│ Queries with Failure                     │         0 │
└──────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 219.3s
CPU sys 5.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.2 GiB
Avg memory 1.6 GiB
CPU user 213.6s
CPU sys 6.2s
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 prototype/pruning-case-or (db3fd52) to 33ad1cc (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 prototype_pruning-case-or
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ prototype_pruning-case-or ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.28 ms │                   1.26 ms │    no change │
│ QQuery 1  │   11.93 ms │                  12.12 ms │    no change │
│ QQuery 2  │   36.48 ms │                  37.07 ms │    no change │
│ QQuery 3  │   31.40 ms │                  32.16 ms │    no change │
│ QQuery 4  │  240.23 ms │                 247.29 ms │    no change │
│ QQuery 5  │  291.48 ms │                 288.43 ms │    no change │
│ QQuery 6  │    1.34 ms │                   1.32 ms │    no change │
│ QQuery 7  │   13.93 ms │                  14.05 ms │    no change │
│ QQuery 8  │  357.39 ms │                 353.17 ms │    no change │
│ QQuery 9  │  491.51 ms │                 496.51 ms │    no change │
│ QQuery 10 │   71.07 ms │                  73.68 ms │    no change │
│ QQuery 11 │   81.42 ms │                  85.65 ms │ 1.05x slower │
│ QQuery 12 │  289.54 ms │                 300.63 ms │    no change │
│ QQuery 13 │  393.94 ms │                 400.07 ms │    no change │
│ QQuery 14 │  298.39 ms │                 307.14 ms │    no change │
│ QQuery 15 │  302.28 ms │                 309.36 ms │    no change │
│ QQuery 16 │  661.94 ms │                 662.68 ms │    no change │
│ QQuery 17 │  670.69 ms │                 668.16 ms │    no change │
│ QQuery 18 │ 1323.56 ms │                1310.01 ms │    no change │
│ QQuery 19 │   28.40 ms │                  28.11 ms │    no change │
│ QQuery 20 │  530.74 ms │                 526.87 ms │    no change │
│ QQuery 21 │  527.72 ms │                 529.86 ms │    no change │
│ QQuery 22 │ 1032.85 ms │                1033.74 ms │    no change │
│ QQuery 23 │ 3178.50 ms │                3255.62 ms │    no change │
│ QQuery 24 │   42.86 ms │                  43.36 ms │    no change │
│ QQuery 25 │  113.20 ms │                 114.75 ms │    no change │
│ QQuery 26 │   42.64 ms │                  43.47 ms │    no change │
│ QQuery 27 │  524.97 ms │                 527.81 ms │    no change │
│ QQuery 28 │ 2990.61 ms │                2992.14 ms │    no change │
│ QQuery 29 │   41.75 ms │                  42.23 ms │    no change │
│ QQuery 30 │  329.03 ms │                 320.62 ms │    no change │
│ QQuery 31 │  298.53 ms │                 297.04 ms │    no change │
│ QQuery 32 │  991.42 ms │                1023.58 ms │    no change │
│ QQuery 33 │ 1610.50 ms │                1591.13 ms │    no change │
│ QQuery 34 │ 1585.01 ms │                1569.53 ms │    no change │
│ QQuery 35 │  305.37 ms │                 318.97 ms │    no change │
│ QQuery 36 │   70.27 ms │                  69.76 ms │    no change │
│ QQuery 37 │   36.56 ms │                  36.07 ms │    no change │
│ QQuery 38 │   40.94 ms │                  41.41 ms │    no change │
│ QQuery 39 │  150.06 ms │                 144.35 ms │    no change │
│ QQuery 40 │   15.04 ms │                  14.86 ms │    no change │
│ QQuery 41 │   14.66 ms │                  14.54 ms │    no change │
│ QQuery 42 │   14.01 ms │                  14.31 ms │    no change │
└───────────┴────────────┴───────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 20085.41ms │
│ Total Time (prototype_pruning-case-or)   │ 20194.92ms │
│ Average Time (HEAD)                      │   467.10ms │
│ Average Time (prototype_pruning-case-or) │   469.65ms │
│ Queries Faster                           │          0 │
│ Queries Slower                           │          1 │
│ Queries with No Change                   │         42 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

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

Comparing HEAD and prototype_pruning-case-or
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             prototype_pruning-case-or ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.28 / 4.17 ±5.63 / 15.43 ms │          1.26 / 4.24 ±5.66 / 15.56 ms │     no change │
│ QQuery 1  │        11.93 / 12.47 ±0.29 / 12.76 ms │        12.12 / 12.58 ±0.30 / 12.95 ms │     no change │
│ QQuery 2  │        36.48 / 36.82 ±0.34 / 37.31 ms │        37.07 / 38.03 ±1.02 / 39.97 ms │     no change │
│ QQuery 3  │        31.40 / 31.99 ±0.59 / 33.09 ms │        32.16 / 32.45 ±0.46 / 33.35 ms │     no change │
│ QQuery 4  │     240.23 / 244.78 ±3.78 / 251.31 ms │     247.29 / 255.34 ±5.73 / 262.89 ms │     no change │
│ QQuery 5  │     291.48 / 295.41 ±4.06 / 302.88 ms │     288.43 / 292.11 ±2.90 / 297.32 ms │     no change │
│ QQuery 6  │           1.34 / 1.50 ±0.24 / 1.97 ms │           1.32 / 1.47 ±0.23 / 1.92 ms │     no change │
│ QQuery 7  │        13.93 / 16.45 ±4.46 / 25.36 ms │        14.05 / 14.22 ±0.12 / 14.39 ms │ +1.16x faster │
│ QQuery 8  │     357.39 / 363.33 ±3.53 / 368.41 ms │     353.17 / 359.97 ±6.14 / 368.96 ms │     no change │
│ QQuery 9  │     491.51 / 498.39 ±5.66 / 507.65 ms │    496.51 / 520.43 ±18.91 / 543.05 ms │     no change │
│ QQuery 10 │        71.07 / 71.81 ±0.80 / 73.26 ms │        73.68 / 76.71 ±4.81 / 86.30 ms │  1.07x slower │
│ QQuery 11 │        81.42 / 82.93 ±1.03 / 84.42 ms │        85.65 / 86.35 ±0.86 / 87.65 ms │     no change │
│ QQuery 12 │     289.54 / 299.60 ±7.97 / 311.80 ms │     300.63 / 308.88 ±9.50 / 326.47 ms │     no change │
│ QQuery 13 │    393.94 / 413.51 ±12.32 / 428.59 ms │    400.07 / 412.83 ±14.18 / 440.12 ms │     no change │
│ QQuery 14 │     298.39 / 310.23 ±7.42 / 317.63 ms │     307.14 / 313.05 ±5.53 / 323.25 ms │     no change │
│ QQuery 15 │     302.28 / 312.54 ±7.69 / 324.69 ms │     309.36 / 320.27 ±9.36 / 331.11 ms │     no change │
│ QQuery 16 │     661.94 / 672.21 ±6.44 / 681.48 ms │    662.68 / 690.78 ±16.81 / 711.29 ms │     no change │
│ QQuery 17 │     670.69 / 676.38 ±4.93 / 684.51 ms │     668.16 / 678.79 ±8.63 / 688.63 ms │     no change │
│ QQuery 18 │ 1323.56 / 1378.07 ±34.03 / 1429.34 ms │ 1310.01 / 1359.65 ±34.02 / 1407.11 ms │     no change │
│ QQuery 19 │        28.40 / 35.41 ±8.75 / 50.59 ms │        28.11 / 34.12 ±7.84 / 49.10 ms │     no change │
│ QQuery 20 │    530.74 / 547.54 ±22.04 / 590.39 ms │     526.87 / 531.16 ±4.43 / 538.66 ms │     no change │
│ QQuery 21 │     527.72 / 532.01 ±2.56 / 535.64 ms │     529.86 / 541.65 ±8.11 / 554.62 ms │     no change │
│ QQuery 22 │  1032.85 / 1040.39 ±6.59 / 1050.78 ms │  1033.74 / 1036.68 ±3.07 / 1042.23 ms │     no change │
│ QQuery 23 │ 3178.50 / 3234.84 ±41.95 / 3302.15 ms │ 3255.62 / 3286.55 ±31.68 / 3327.20 ms │     no change │
│ QQuery 24 │        42.86 / 47.64 ±6.44 / 60.33 ms │       43.36 / 51.59 ±10.39 / 70.06 ms │  1.08x slower │
│ QQuery 25 │     113.20 / 114.57 ±1.35 / 116.75 ms │     114.75 / 117.95 ±5.08 / 128.08 ms │     no change │
│ QQuery 26 │        42.64 / 48.23 ±3.21 / 51.56 ms │        43.47 / 44.11 ±0.45 / 44.83 ms │ +1.09x faster │
│ QQuery 27 │     524.97 / 534.75 ±6.56 / 545.38 ms │     527.81 / 534.63 ±4.06 / 539.25 ms │     no change │
│ QQuery 28 │ 2990.61 / 3007.39 ±15.40 / 3036.29 ms │  2992.14 / 2997.48 ±5.82 / 3008.59 ms │     no change │
│ QQuery 29 │      41.75 / 55.70 ±27.05 / 109.79 ms │       42.23 / 56.45 ±17.33 / 82.06 ms │     no change │
│ QQuery 30 │    329.03 / 345.56 ±15.83 / 372.12 ms │     320.62 / 329.45 ±8.80 / 344.66 ms │     no change │
│ QQuery 31 │    298.53 / 317.79 ±27.04 / 370.80 ms │    297.04 / 311.44 ±11.07 / 325.87 ms │     no change │
│ QQuery 32 │  991.42 / 1014.69 ±17.87 / 1041.71 ms │ 1023.58 / 1057.43 ±27.79 / 1090.48 ms │     no change │
│ QQuery 33 │  1610.50 / 1622.42 ±9.15 / 1637.38 ms │ 1591.13 / 1644.04 ±29.99 / 1672.66 ms │     no change │
│ QQuery 34 │ 1585.01 / 1639.94 ±30.10 / 1665.44 ms │ 1569.53 / 1612.80 ±24.25 / 1636.82 ms │     no change │
│ QQuery 35 │    305.37 / 353.80 ±78.01 / 509.15 ms │    318.97 / 345.40 ±29.15 / 402.21 ms │     no change │
│ QQuery 36 │        70.27 / 78.68 ±5.97 / 86.41 ms │        69.76 / 78.06 ±5.70 / 85.98 ms │     no change │
│ QQuery 37 │        36.56 / 37.20 ±0.66 / 38.03 ms │        36.07 / 39.74 ±3.55 / 45.30 ms │  1.07x slower │
│ QQuery 38 │        40.94 / 47.59 ±6.11 / 55.41 ms │        41.41 / 46.68 ±4.77 / 55.11 ms │     no change │
│ QQuery 39 │     150.06 / 166.39 ±8.90 / 176.32 ms │    144.35 / 162.81 ±16.72 / 193.09 ms │     no change │
│ QQuery 40 │        15.04 / 15.54 ±0.41 / 16.04 ms │        14.86 / 17.69 ±4.88 / 27.41 ms │  1.14x slower │
│ QQuery 41 │        14.66 / 20.17 ±6.05 / 28.43 ms │        14.54 / 14.79 ±0.22 / 15.14 ms │ +1.36x faster │
│ QQuery 42 │        14.01 / 14.17 ±0.18 / 14.52 ms │        14.31 / 15.15 ±1.41 / 17.96 ms │  1.07x slower │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 20594.98ms │
│ Total Time (prototype_pruning-case-or)   │ 20685.98ms │
│ Average Time (HEAD)                      │   478.95ms │
│ Average Time (prototype_pruning-case-or) │   481.07ms │
│ Queries Faster                           │          3 │
│ Queries Slower                           │          5 │
│ Queries with No Change                   │         35 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 11.5 GiB
Avg memory 4.1 GiB
CPU user 1047.3s
CPU sys 80.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 12.1 GiB
Avg memory 4.6 GiB
CPU user 1048.7s
CPU sys 81.3s
Peak spill 0 B

File an issue against this benchmark runner

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.41860% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 80.99%. Comparing base (33ad1cc) to head (db3fd52).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
datafusion/pruning/src/pruning_predicate.rs 99.41% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main   #24238    +/-   ##
========================================
  Coverage   80.99%   80.99%            
========================================
  Files        1106     1106            
  Lines      383352   383667   +315     
  Branches   383352   383667   +315     
========================================
+ Hits       310488   310752   +264     
- Misses      54544    54580    +36     
- Partials    18320    18335    +15     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants