Skip to content

perf: deduplicate hash join InList pushdown values - #24236

Draft
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:perf/dedup-inlist-pushdown
Draft

perf: deduplicate hash join InList pushdown values#24236
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:perf/dedup-inlist-pushdown

Conversation

@adriangb

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • N/A

Rationale for this change

The hash join InList filter pushdown is gated on the build side's distinct key count:

map.num_of_distinct_key() > config.optimizer.hash_join_inlist_pushdown_max_distinct_values // default 150

but the values it actually ships are the raw build-side key arrays — one entry per build row, never deduplicated. So a partition that passes the 150-distinct-value gate can still emit a list with thousands of entries, bounded only by hash_join_inlist_pushdown_max_size (default 128 KiB).

On TPC-H q17 at SF=1 (12 partitions) the pushed-down filter on the lineitem scan looked like this before the change:

DynamicFilter [ CASE hash_repartition % 12
                  WHEN 0 THEN l_partkey >= 33299 AND l_partkey <= 197255 AND l_partkey IN (SET) ([ ...551 values... ])
                  WHEN 1 THEN ... ([ ...351 values... ])
                  ... ]

6088 list entries in total across the 12 partitions, for 204 distinct keys.

That length is paid for repeatedly and mostly discarded:

  • InListExpr::try_new_from_array materialises one ScalarValue + one Literal expression per entry, so the list field is ~30× larger than it needs to be.
  • The list becomes a LiteralGuarantee, which PruningPredicate::prune re-materialises per row group wherever the pushed-down filter reaches a pruning predicate. RowGroupPruningStatistics::contained() in datafusion/datasource-parquet/src/row_group_filter.rs returns None unconditionally, so that guarantee can never prune anything — the work is provably discarded.
  • Separately, max_in_list_size (default 20) blocks the InList→OR rewrite, so an inflated list yields no pruning benefit on that path either.

The duplicates carry no information: IN is a set membership test.

What changes are included in this PR?

build_struct_inlist_values now deduplicates the value array before it is wrapped in PushdownStrategy::InList.

Deduplication is done on the arrow array itself: encode it once with RowConverter and keep first occurrences via a HashSet<Row>, then a single take. This is one pass and two allocations, rather than one ScalarValue::try_from_array per row, and it handles both shapes the pushdown produces — a single key column (possibly dictionary-encoded) and a multi-column StructArray — without special-casing either.

Semantics are preserved exactly, and the transform is a set-preserving no-op:

  • Deduplication is on the whole tuple, so multi-column keys whose individual columns repeat but whose tuples are distinct are untouched.
  • NULLs compare equal under the row format, so a list with many NULLs collapses to a single NULL. Under three-valued logic one NULL in the haystack already produces the same result as a thousand, so IN/NOT IN results are unchanged.
  • First-occurrence order is preserved, take preserves dictionary encoding, and the array is returned untouched when it has <2 rows, contains no duplicates, or has a type RowConverter cannot encode.

Are these changes tested?

Yes.

  • New unit tests in inlist_builder.rs cover: single-column dedup, an already-distinct array (identity), NULL collapsing, multi-column tuple dedup, distinct tuples built from individually-duplicated columns, and dictionary arrays.
  • A new sqllogictest in push_down_filter_parquet.slt covers it end to end: a build side with 6 rows and 2 distinct keys now pushes IN (SET) ([11, 22]) with required_guarantees=[id in (11, 22)], where main pushed all 6 rows. It also asserts the join output is unchanged (still one row per matching build row).
  • All existing IN (SET) snapshots in push_down_filter_parquet.slt and filter_pushdown.rs are byte-identical — their build sides were already distinct, which is the expected no-op.

cargo test -p datafusion-physical-plan --lib, the full sqllogictest suite, cargo clippy --all-targets -- -D warnings (CI feature set) and cargo doc are all green.

Measured effect

Counts first, since they are exact rather than timings. TPC-H SF=1, parquet, from dfbench --debug, summing the IN (SET) list lengths across the 12 partitions of the q17 dynamic filter:

query InList entries (main) InList entries (this PR)
q17 6088 204
q18 57 57
q3 no InList pushdown no InList pushdown
q5 26 26
q9 25 25

Only q17 has a build side with duplicate join keys at SF=1; everywhere else the build keys are already distinct (group-by outputs, nation/region keys) and the change is a literal no-op. That is the expected shape: this only helps when the build side repeats keys.

Timings: both binaries built from the same worktree and target dir, differing only by this commit. 20 rounds × 6 iterations, A/B order counterbalanced per round (A,B on odd rounds; B,A on even), per-round median over iterations 1–5 (cold iteration dropped), then median across rounds. TPC-H SF=1 parquet on a machine that was not idle.

query main (ms) this PR (ms) delta odd rounds (A,B) even rounds (B,A) rounds favouring PR
q17 62.25 59.20 −3.8% −4.2% −3.3% 18/20 (sign test p≈0.0004)
q18 58.25 59.45 −2.3% −2.3% −2.9% 12/20 (p≈0.50)
q1 (control) 38.20 39.10 +2.4% +2.6% +1.2% 6/20
q6 (control) 14.80 14.80 −0.0% −0.0% +0.6% 10/20

Honest reading of that table. q1 and q6 have no joins, so this change cannot touch them; whatever they show is the noise floor, and here that floor is up to ±2.4%. q17's −3.8% is only just clear of it. The reason I believe it is real rather than noise is the sign test, not the magnitude: 18 of 20 counterbalanced rounds favoured the change, both orderings agree in sign and size, and the controls sit at 6/20 and 10/20 as they should. q18's −2.3% is inside the floor and 12/20 is a coin flip — and its list length does not change at all, so that column is noise by construction, which is a useful internal check on the method.

Per-round spread is wide (individual q17 rounds ranged −44% to +22%), which is why only the 20-round medians and the sign test are quoted.

A first, lower-powered pass (12 rounds × 5 iterations over q17/q18/q3/q5/q9 + q1/q6) produced a ±9% control floor and showed nothing above it in either direction. It is reported here for completeness, not as evidence.

I would also not over-claim the pruning half of the mechanism from this benchmark: at SF=1 each table is a single file and the dynamic filter arrives after row-group pruning has already run (row_groups_pruned_dynamic_filter=0, statistics_eval_time=24ns on that scan), so on this dataset the discarded LiteralGuarantee work is not actually being paid. The saving I measured at SF=1 is the ~5900 ScalarValue/Literal allocations that no longer happen. The guarantee argument should matter more on datasets with many row groups per scan, where the filter is live before pruning — I have not measured that here.

If reviewers consider −3.8% on one query too thin to justify the change on performance grounds alone, the correctness-of-effort argument still stands on its own: the deduplicated list is semantically identical, strictly smaller, and the work it removes is work that could never have produced a result.

Are there any user-facing changes?

No API changes and no behaviour changes. The only visible difference is in EXPLAIN ANALYZE output, where the pushed-down IN (SET) (...) list and the required_guarantees derived from it no longer repeat duplicate build-side keys.

adriangb and others added 2 commits August 10, 2026 17:04
The hash join InList pushdown gates on the build side's *distinct* key
count (`hash_join_inlist_pushdown_max_distinct_values`, default 150) but
then ships the raw build-side key arrays, which have one entry per build
row. A partition with 150 distinct keys and 16k build rows produced a
16k-entry `IN` list.

Deduplicate the values (arrow row-format encoding + a hash set, so it
works for multi-column struct keys and dictionaries alike) before
wrapping them in `PushdownStrategy::InList`. An `IN` list is a set, so
this cannot change any result; NULLs collapse to a single NULL, which is
likewise indistinguishable under three-valued logic.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds a sqllogictest where the build side has 6 rows but only 2 distinct
keys, asserting the pushed-down dynamic filter is `IN (SET) ([11, 22])`
and the derived `required_guarantees` is `[id in (11, 22)]`. Before the
previous commit both listed all 6 build rows.

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 (#24236 (comment)).

Comment Repo PR User Benchmarks Status
#5246026791 apache/datafusion #24235 adriangb ["clickbench_partitioned"] running
#5246026791 apache/datafusion #24235 adriangb ["tpcds"] running
#5246026791 apache/datafusion #24235 adriangb ["tpch"] running
#5246026975 apache/datafusion #24186 alamb ["clickbench_partitioned"] running
#5246058582 apache/datafusion #24236 adriangb ["clickbench_partitioned"] running
#5246058582 apache/datafusion #24236 adriangb ["tpcds"] running
#5246058582 apache/datafusion #24236 adriangb ["tpch"] running

File an issue against this benchmark runner

@github-actions github-actions Bot added sqllogictest SQL Logic Tests (.slt) physical-plan Changes to the physical-plan crate labels Aug 10, 2026
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5246058582-1532-9nw7r 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 perf/dedup-inlist-pushdown (d56edfd) 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-c5246058582-1533-rg7m7 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 perf/dedup-inlist-pushdown (d56edfd) 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 running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5246058582-1534-w4x42 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 perf/dedup-inlist-pushdown (d56edfd) 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 completed (GKE) | trigger

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

Comparing perf/dedup-inlist-pushdown (d56edfd) 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 perf_dedup-inlist-pushdown
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 38.32 ms │                   37.80 ms │     no change │
│ QQuery 2  │ 19.06 ms │                   18.98 ms │     no change │
│ QQuery 3  │ 30.60 ms │                   30.21 ms │     no change │
│ QQuery 4  │ 17.18 ms │                   17.07 ms │     no change │
│ QQuery 5  │ 37.75 ms │                   36.82 ms │     no change │
│ QQuery 6  │ 15.89 ms │                   15.87 ms │     no change │
│ QQuery 7  │ 43.70 ms │                   43.22 ms │     no change │
│ QQuery 8  │ 42.13 ms │                   41.88 ms │     no change │
│ QQuery 9  │ 49.54 ms │                   49.21 ms │     no change │
│ QQuery 10 │ 41.60 ms │                   41.47 ms │     no change │
│ QQuery 11 │ 13.03 ms │                   13.08 ms │     no change │
│ QQuery 12 │ 23.74 ms │                   23.39 ms │     no change │
│ QQuery 13 │ 32.10 ms │                   31.76 ms │     no change │
│ QQuery 14 │ 23.15 ms │                   22.80 ms │     no change │
│ QQuery 15 │ 30.66 ms │                   30.08 ms │     no change │
│ QQuery 16 │ 13.58 ms │                   13.54 ms │     no change │
│ QQuery 17 │ 69.30 ms │                   64.32 ms │ +1.08x faster │
│ QQuery 18 │ 56.92 ms │                   58.05 ms │     no change │
│ QQuery 19 │ 32.44 ms │                   32.01 ms │     no change │
│ QQuery 20 │ 31.31 ms │                   30.95 ms │     no change │
│ QQuery 21 │ 55.33 ms │                   55.34 ms │     no change │
│ QQuery 22 │ 13.64 ms │                   13.67 ms │     no change │
└───────────┴──────────┴────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 730.99ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 721.50ms │
│ Average Time (HEAD)                       │  33.23ms │
│ Average Time (perf_dedup-inlist-pushdown) │  32.80ms │
│ Queries Faster                            │        1 │
│ Queries Slower                            │        0 │
│ Queries with No Change                    │       21 │
│ Queries with Failure                      │        0 │
└───────────────────────────────────────────┴──────────┘

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

Comparing HEAD and perf_dedup-inlist-pushdown
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃     perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 38.32 / 38.95 ±0.98 / 40.90 ms │ 37.80 / 38.47 ±0.98 / 40.41 ms │     no change │
│ QQuery 2  │ 19.06 / 19.49 ±0.42 / 20.16 ms │ 18.98 / 19.42 ±0.37 / 19.94 ms │     no change │
│ QQuery 3  │ 30.60 / 33.45 ±3.12 / 39.43 ms │ 30.21 / 31.47 ±1.00 / 32.74 ms │ +1.06x faster │
│ QQuery 4  │ 17.18 / 17.89 ±0.50 / 18.66 ms │ 17.07 / 17.31 ±0.12 / 17.39 ms │     no change │
│ QQuery 5  │ 37.75 / 39.12 ±1.06 / 40.07 ms │ 36.82 / 38.91 ±1.08 / 39.87 ms │     no change │
│ QQuery 6  │ 15.89 / 16.09 ±0.17 / 16.35 ms │ 15.87 / 16.60 ±0.86 / 17.92 ms │     no change │
│ QQuery 7  │ 43.70 / 45.04 ±0.92 / 46.52 ms │ 43.22 / 45.74 ±2.88 / 50.71 ms │     no change │
│ QQuery 8  │ 42.13 / 42.31 ±0.21 / 42.71 ms │ 41.88 / 42.26 ±0.32 / 42.74 ms │     no change │
│ QQuery 9  │ 49.54 / 50.47 ±1.09 / 52.60 ms │ 49.21 / 49.97 ±0.59 / 50.85 ms │     no change │
│ QQuery 10 │ 41.60 / 42.48 ±0.94 / 44.07 ms │ 41.47 / 41.58 ±0.16 / 41.89 ms │     no change │
│ QQuery 11 │ 13.03 / 13.24 ±0.13 / 13.36 ms │ 13.08 / 13.19 ±0.16 / 13.50 ms │     no change │
│ QQuery 12 │ 23.74 / 23.97 ±0.12 / 24.11 ms │ 23.39 / 23.72 ±0.18 / 23.95 ms │     no change │
│ QQuery 13 │ 32.10 / 33.40 ±0.86 / 34.68 ms │ 31.76 / 32.86 ±0.87 / 33.95 ms │     no change │
│ QQuery 14 │ 23.15 / 24.00 ±1.39 / 26.77 ms │ 22.80 / 22.93 ±0.08 / 23.00 ms │     no change │
│ QQuery 15 │ 30.66 / 31.56 ±0.84 / 32.71 ms │ 30.08 / 31.46 ±0.90 / 32.46 ms │     no change │
│ QQuery 16 │ 13.58 / 13.74 ±0.16 / 14.01 ms │ 13.54 / 13.78 ±0.15 / 14.01 ms │     no change │
│ QQuery 17 │ 69.30 / 70.56 ±1.14 / 71.94 ms │ 64.32 / 64.67 ±0.23 / 64.90 ms │ +1.09x faster │
│ QQuery 18 │ 56.92 / 58.94 ±1.13 / 60.35 ms │ 58.05 / 59.86 ±1.19 / 61.41 ms │     no change │
│ QQuery 19 │ 32.44 / 33.16 ±0.91 / 34.82 ms │ 32.01 / 32.54 ±0.44 / 33.33 ms │     no change │
│ QQuery 20 │ 31.31 / 31.78 ±0.51 / 32.53 ms │ 30.95 / 31.58 ±0.55 / 32.47 ms │     no change │
│ QQuery 21 │ 55.33 / 57.10 ±1.17 / 58.82 ms │ 55.34 / 57.02 ±1.47 / 59.75 ms │     no change │
│ QQuery 22 │ 13.64 / 13.83 ±0.15 / 14.03 ms │ 13.67 / 13.78 ±0.10 / 13.95 ms │     no change │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 750.56ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 739.11ms │
│ Average Time (HEAD)                       │  34.12ms │
│ Average Time (perf_dedup-inlist-pushdown) │  33.60ms │
│ Queries Faster                            │        2 │
│ Queries Slower                            │        0 │
│ Queries with No Change                    │       20 │
│ Queries with Failure                      │        0 │
└───────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.3 GiB
Avg memory 522.9 MiB
CPU user 21.4s
CPU sys 1.6s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.3 GiB
Avg memory 539.2 MiB
CPU user 21.0s
CPU sys 1.6s
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 perf/dedup-inlist-pushdown (d56edfd) 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 perf_dedup-inlist-pushdown
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.55 ms │                    5.53 ms │     no change │
│ QQuery 2  │   82.23 ms │                   79.43 ms │     no change │
│ QQuery 3  │   29.40 ms │                   29.33 ms │     no change │
│ QQuery 4  │  488.42 ms │                  488.09 ms │     no change │
│ QQuery 5  │   52.32 ms │                   51.65 ms │     no change │
│ QQuery 6  │   36.03 ms │                   35.73 ms │     no change │
│ QQuery 7  │   93.91 ms │                   94.34 ms │     no change │
│ QQuery 8  │   37.36 ms │                   37.11 ms │     no change │
│ QQuery 9  │   53.16 ms │                   52.00 ms │     no change │
│ QQuery 10 │   63.04 ms │                   62.37 ms │     no change │
│ QQuery 11 │  303.89 ms │                  301.47 ms │     no change │
│ QQuery 12 │   28.63 ms │                   28.40 ms │     no change │
│ QQuery 13 │  118.41 ms │                  117.84 ms │     no change │
│ QQuery 14 │  416.65 ms │                  417.73 ms │     no change │
│ QQuery 15 │   58.29 ms │                   57.81 ms │     no change │
│ QQuery 16 │    6.67 ms │                    6.66 ms │     no change │
│ QQuery 17 │   79.54 ms │                   79.51 ms │     no change │
│ QQuery 18 │  122.34 ms │                  121.75 ms │     no change │
│ QQuery 19 │   42.09 ms │                   41.30 ms │     no change │
│ QQuery 20 │   36.37 ms │                   35.69 ms │     no change │
│ QQuery 21 │   18.04 ms │                   17.57 ms │     no change │
│ QQuery 22 │   64.46 ms │                   63.70 ms │     no change │
│ QQuery 23 │  347.12 ms │                  341.00 ms │     no change │
│ QQuery 24 │  222.79 ms │                  223.87 ms │     no change │
│ QQuery 25 │  109.57 ms │                  109.18 ms │     no change │
│ QQuery 26 │   57.59 ms │                   57.19 ms │     no change │
│ QQuery 27 │    6.28 ms │                    6.30 ms │     no change │
│ QQuery 28 │   57.98 ms │                   57.01 ms │     no change │
│ QQuery 29 │   96.99 ms │                   97.30 ms │     no change │
│ QQuery 30 │   32.66 ms │                   33.00 ms │     no change │
│ QQuery 31 │  111.10 ms │                  111.07 ms │     no change │
│ QQuery 32 │   20.49 ms │                   20.76 ms │     no change │
│ QQuery 33 │   38.12 ms │                   38.01 ms │     no change │
│ QQuery 34 │   10.14 ms │                    9.85 ms │     no change │
│ QQuery 35 │   73.14 ms │                   73.26 ms │     no change │
│ QQuery 36 │    5.72 ms │                    5.82 ms │     no change │
│ QQuery 37 │    6.79 ms │                    6.83 ms │     no change │
│ QQuery 38 │   61.54 ms │                   61.61 ms │     no change │
│ QQuery 39 │   90.17 ms │                   90.23 ms │     no change │
│ QQuery 40 │   23.36 ms │                   23.73 ms │     no change │
│ QQuery 41 │   11.55 ms │                   11.65 ms │     no change │
│ QQuery 42 │   23.52 ms │                   23.75 ms │     no change │
│ QQuery 43 │    5.03 ms │                    5.06 ms │     no change │
│ QQuery 44 │    9.45 ms │                    9.21 ms │     no change │
│ QQuery 45 │   38.52 ms │                   38.18 ms │     no change │
│ QQuery 46 │   11.77 ms │                   11.89 ms │     no change │
│ QQuery 47 │  228.27 ms │                  230.17 ms │     no change │
│ QQuery 48 │   95.95 ms │                   96.38 ms │     no change │
│ QQuery 49 │   77.29 ms │                   77.45 ms │     no change │
│ QQuery 50 │   59.09 ms │                   59.42 ms │     no change │
│ QQuery 51 │   90.94 ms │                   91.45 ms │     no change │
│ QQuery 52 │   24.37 ms │                   23.96 ms │     no change │
│ QQuery 53 │   29.37 ms │                   29.67 ms │     no change │
│ QQuery 54 │   55.11 ms │                   55.46 ms │     no change │
│ QQuery 55 │   23.97 ms │                   23.48 ms │     no change │
│ QQuery 56 │   38.68 ms │                   38.83 ms │     no change │
│ QQuery 57 │  176.45 ms │                  177.43 ms │     no change │
│ QQuery 58 │  113.52 ms │                  114.62 ms │     no change │
│ QQuery 59 │  119.03 ms │                  117.87 ms │     no change │
│ QQuery 60 │   39.24 ms │                   39.59 ms │     no change │
│ QQuery 61 │   12.60 ms │                   12.30 ms │     no change │
│ QQuery 62 │   46.80 ms │                   46.66 ms │     no change │
│ QQuery 63 │   30.22 ms │                   30.24 ms │     no change │
│ QQuery 64 │  410.30 ms │                  406.70 ms │     no change │
│ QQuery 65 │  125.99 ms │                   66.73 ms │ +1.89x faster │
│ QQuery 66 │   80.80 ms │                   80.65 ms │     no change │
│ QQuery 67 │  249.45 ms │                  244.39 ms │     no change │
│ QQuery 68 │   12.24 ms │                   12.03 ms │     no change │
│ QQuery 69 │   57.79 ms │                   57.06 ms │     no change │
│ QQuery 70 │  107.09 ms │                  106.75 ms │     no change │
│ QQuery 71 │   35.51 ms │                   35.14 ms │     no change │
│ QQuery 72 │ 1971.01 ms │                 2060.79 ms │     no change │
│ QQuery 73 │   10.03 ms │                   10.11 ms │     no change │
│ QQuery 74 │  171.13 ms │                  180.15 ms │  1.05x slower │
│ QQuery 75 │  148.33 ms │                  149.18 ms │     no change │
│ QQuery 76 │   35.12 ms │                   35.53 ms │     no change │
│ QQuery 77 │   61.53 ms │                   63.08 ms │     no change │
│ QQuery 78 │  196.70 ms │                  200.33 ms │     no change │
│ QQuery 79 │   66.47 ms │                   68.12 ms │     no change │
│ QQuery 80 │   98.07 ms │                   98.62 ms │     no change │
│ QQuery 81 │   26.01 ms │                   26.15 ms │     no change │
│ QQuery 82 │   16.50 ms │                   16.60 ms │     no change │
│ QQuery 83 │   39.89 ms │                   41.13 ms │     no change │
│ QQuery 84 │   29.84 ms │                   30.62 ms │     no change │
│ QQuery 85 │  107.16 ms │                  107.72 ms │     no change │
│ QQuery 86 │   25.20 ms │                   25.74 ms │     no change │
│ QQuery 87 │   62.16 ms │                   64.28 ms │     no change │
│ QQuery 88 │   63.33 ms │                   63.27 ms │     no change │
│ QQuery 89 │   36.26 ms │                   36.47 ms │     no change │
│ QQuery 90 │   17.33 ms │                   17.45 ms │     no change │
│ QQuery 91 │   46.69 ms │                   46.17 ms │     no change │
│ QQuery 92 │   29.69 ms │                   30.12 ms │     no change │
│ QQuery 93 │   49.77 ms │                   49.94 ms │     no change │
│ QQuery 94 │   38.40 ms │                   38.79 ms │     no change │
│ QQuery 95 │   81.05 ms │                   82.14 ms │     no change │
│ QQuery 96 │   24.11 ms │                   24.26 ms │     no change │
│ QQuery 97 │   47.19 ms │                   47.19 ms │     no change │
│ QQuery 98 │   42.50 ms │                   42.90 ms │     no change │
│ QQuery 99 │   70.14 ms │                   70.98 ms │     no change │
└───────────┴────────────┴────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 9659.88ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 9693.01ms │
│ Average Time (HEAD)                       │   97.57ms │
│ Average Time (perf_dedup-inlist-pushdown) │   97.91ms │
│ Queries Faster                            │         1 │
│ Queries Slower                            │         1 │
│ Queries with No Change                    │        97 │
│ Queries with Failure                      │         0 │
└───────────────────────────────────────────┴───────────┘

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

Comparing HEAD and perf_dedup-inlist-pushdown
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃            perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │            5.55 / 6.13 ±0.89 / 7.90 ms │           5.53 / 6.04 ±0.91 / 7.86 ms │     no change │
│ QQuery 2  │         82.23 / 82.26 ±0.02 / 82.28 ms │        79.43 / 79.62 ±0.14 / 79.83 ms │     no change │
│ QQuery 3  │         29.40 / 29.61 ±0.17 / 29.85 ms │        29.33 / 29.68 ±0.29 / 30.03 ms │     no change │
│ QQuery 4  │      488.42 / 500.98 ±7.29 / 510.49 ms │     488.09 / 489.71 ±1.64 / 492.53 ms │     no change │
│ QQuery 5  │         52.32 / 52.95 ±0.71 / 54.21 ms │        51.65 / 52.78 ±0.85 / 53.84 ms │     no change │
│ QQuery 6  │         36.03 / 36.61 ±0.32 / 36.98 ms │        35.73 / 36.42 ±0.64 / 37.27 ms │     no change │
│ QQuery 7  │         93.91 / 95.66 ±1.80 / 99.13 ms │        94.34 / 94.47 ±0.11 / 94.63 ms │     no change │
│ QQuery 8  │         37.36 / 38.02 ±0.35 / 38.34 ms │        37.11 / 38.28 ±1.80 / 41.82 ms │     no change │
│ QQuery 9  │         53.16 / 54.50 ±0.91 / 55.84 ms │        52.00 / 54.85 ±1.71 / 57.23 ms │     no change │
│ QQuery 10 │         63.04 / 63.47 ±0.32 / 64.04 ms │        62.37 / 62.91 ±0.44 / 63.70 ms │     no change │
│ QQuery 11 │      303.89 / 310.75 ±4.00 / 315.71 ms │     301.47 / 304.83 ±1.92 / 307.14 ms │     no change │
│ QQuery 12 │         28.63 / 29.00 ±0.32 / 29.58 ms │        28.40 / 28.85 ±0.37 / 29.51 ms │     no change │
│ QQuery 13 │      118.41 / 119.23 ±0.53 / 120.06 ms │     117.84 / 119.12 ±1.53 / 122.13 ms │     no change │
│ QQuery 14 │      416.65 / 424.90 ±7.02 / 436.70 ms │     417.73 / 422.80 ±3.38 / 426.74 ms │     no change │
│ QQuery 15 │         58.29 / 59.58 ±0.84 / 60.74 ms │        57.81 / 58.40 ±0.51 / 59.17 ms │     no change │
│ QQuery 16 │            6.67 / 6.85 ±0.28 / 7.40 ms │           6.66 / 6.78 ±0.23 / 7.25 ms │     no change │
│ QQuery 17 │         79.54 / 80.07 ±0.43 / 80.83 ms │        79.51 / 80.06 ±0.37 / 80.44 ms │     no change │
│ QQuery 18 │      122.34 / 124.08 ±1.51 / 125.96 ms │     121.75 / 123.70 ±0.98 / 124.39 ms │     no change │
│ QQuery 19 │         42.09 / 42.29 ±0.30 / 42.88 ms │        41.30 / 41.86 ±0.44 / 42.61 ms │     no change │
│ QQuery 20 │         36.37 / 37.26 ±1.18 / 39.55 ms │        35.69 / 36.80 ±1.61 / 39.97 ms │     no change │
│ QQuery 21 │         18.04 / 18.34 ±0.39 / 19.11 ms │        17.57 / 17.81 ±0.22 / 18.20 ms │     no change │
│ QQuery 22 │         64.46 / 66.59 ±3.49 / 73.53 ms │        63.70 / 63.92 ±0.27 / 64.37 ms │     no change │
│ QQuery 23 │     347.12 / 358.45 ±16.23 / 390.21 ms │     341.00 / 344.96 ±2.92 / 349.46 ms │     no change │
│ QQuery 24 │      222.79 / 225.76 ±1.80 / 228.43 ms │     223.87 / 227.11 ±4.06 / 234.89 ms │     no change │
│ QQuery 25 │      109.57 / 110.27 ±0.56 / 111.22 ms │     109.18 / 110.85 ±1.17 / 112.57 ms │     no change │
│ QQuery 26 │         57.59 / 58.54 ±1.31 / 61.09 ms │        57.19 / 59.36 ±2.93 / 65.17 ms │     no change │
│ QQuery 27 │            6.28 / 6.41 ±0.19 / 6.78 ms │           6.30 / 6.44 ±0.19 / 6.81 ms │     no change │
│ QQuery 28 │         57.98 / 60.56 ±1.36 / 61.85 ms │        57.01 / 59.59 ±2.13 / 62.26 ms │     no change │
│ QQuery 29 │        96.99 / 98.70 ±1.46 / 100.82 ms │        97.30 / 97.81 ±0.64 / 99.07 ms │     no change │
│ QQuery 30 │         32.66 / 33.72 ±1.06 / 35.63 ms │        33.00 / 34.85 ±2.18 / 38.96 ms │     no change │
│ QQuery 31 │      111.10 / 111.20 ±0.06 / 111.28 ms │     111.07 / 112.12 ±0.95 / 113.68 ms │     no change │
│ QQuery 32 │         20.49 / 20.75 ±0.23 / 21.12 ms │        20.76 / 20.90 ±0.13 / 21.15 ms │     no change │
│ QQuery 33 │         38.12 / 39.39 ±1.02 / 40.77 ms │        38.01 / 38.23 ±0.17 / 38.49 ms │     no change │
│ QQuery 34 │         10.14 / 11.10 ±1.50 / 14.08 ms │         9.85 / 11.61 ±2.00 / 14.81 ms │     no change │
│ QQuery 35 │         73.14 / 74.39 ±0.75 / 75.38 ms │        73.26 / 74.29 ±0.75 / 75.40 ms │     no change │
│ QQuery 36 │            5.72 / 5.88 ±0.19 / 6.26 ms │           5.82 / 5.98 ±0.19 / 6.34 ms │     no change │
│ QQuery 37 │            6.79 / 6.87 ±0.08 / 7.01 ms │           6.83 / 6.91 ±0.06 / 7.00 ms │     no change │
│ QQuery 38 │         61.54 / 62.18 ±0.64 / 63.38 ms │        61.61 / 61.81 ±0.13 / 62.03 ms │     no change │
│ QQuery 39 │         90.17 / 91.87 ±1.58 / 93.87 ms │       90.23 / 93.51 ±4.48 / 102.28 ms │     no change │
│ QQuery 40 │         23.36 / 23.59 ±0.16 / 23.81 ms │        23.73 / 24.33 ±0.49 / 24.98 ms │     no change │
│ QQuery 41 │         11.55 / 11.81 ±0.31 / 12.41 ms │        11.65 / 11.80 ±0.16 / 12.08 ms │     no change │
│ QQuery 42 │         23.52 / 24.26 ±0.59 / 25.28 ms │        23.75 / 24.46 ±0.60 / 25.16 ms │     no change │
│ QQuery 43 │            5.03 / 5.16 ±0.15 / 5.45 ms │           5.06 / 5.14 ±0.11 / 5.35 ms │     no change │
│ QQuery 44 │            9.45 / 9.55 ±0.12 / 9.78 ms │           9.21 / 9.34 ±0.10 / 9.50 ms │     no change │
│ QQuery 45 │         38.52 / 39.50 ±0.86 / 40.95 ms │        38.18 / 38.61 ±0.33 / 39.16 ms │     no change │
│ QQuery 46 │         11.77 / 12.85 ±1.75 / 16.33 ms │        11.89 / 12.37 ±0.36 / 12.96 ms │     no change │
│ QQuery 47 │      228.27 / 232.52 ±4.08 / 238.46 ms │     230.17 / 233.52 ±2.32 / 236.49 ms │     no change │
│ QQuery 48 │         95.95 / 96.77 ±0.70 / 97.93 ms │        96.38 / 97.43 ±0.90 / 98.82 ms │     no change │
│ QQuery 49 │         77.29 / 79.12 ±2.25 / 83.09 ms │        77.45 / 77.81 ±0.19 / 77.97 ms │     no change │
│ QQuery 50 │         59.09 / 59.77 ±0.51 / 60.52 ms │        59.42 / 61.77 ±3.15 / 67.96 ms │     no change │
│ QQuery 51 │         90.94 / 93.34 ±1.36 / 94.57 ms │        91.45 / 93.88 ±2.11 / 96.85 ms │     no change │
│ QQuery 52 │         24.37 / 24.61 ±0.30 / 25.17 ms │        23.96 / 24.26 ±0.24 / 24.53 ms │     no change │
│ QQuery 53 │         29.37 / 30.73 ±1.97 / 34.63 ms │        29.67 / 29.90 ±0.15 / 30.15 ms │     no change │
│ QQuery 54 │         55.11 / 56.11 ±1.38 / 58.83 ms │        55.46 / 58.17 ±4.40 / 66.95 ms │     no change │
│ QQuery 55 │         23.97 / 24.14 ±0.24 / 24.62 ms │        23.48 / 24.02 ±0.53 / 24.90 ms │     no change │
│ QQuery 56 │         38.68 / 39.31 ±0.43 / 40.01 ms │        38.83 / 39.50 ±0.48 / 40.09 ms │     no change │
│ QQuery 57 │      176.45 / 179.22 ±2.21 / 182.15 ms │     177.43 / 180.10 ±3.09 / 185.51 ms │     no change │
│ QQuery 58 │      113.52 / 115.10 ±1.98 / 118.87 ms │     114.62 / 116.72 ±2.57 / 121.39 ms │     no change │
│ QQuery 59 │      119.03 / 119.97 ±1.46 / 122.88 ms │     117.87 / 118.83 ±0.50 / 119.31 ms │     no change │
│ QQuery 60 │         39.24 / 39.96 ±0.40 / 40.39 ms │        39.59 / 39.98 ±0.42 / 40.64 ms │     no change │
│ QQuery 61 │         12.60 / 13.44 ±1.61 / 16.66 ms │        12.30 / 12.46 ±0.14 / 12.66 ms │ +1.08x faster │
│ QQuery 62 │         46.80 / 47.67 ±1.10 / 49.81 ms │        46.66 / 48.27 ±2.82 / 53.91 ms │     no change │
│ QQuery 63 │         30.22 / 30.37 ±0.08 / 30.44 ms │        30.24 / 30.69 ±0.33 / 31.20 ms │     no change │
│ QQuery 64 │      410.30 / 413.72 ±4.04 / 421.41 ms │     406.70 / 411.90 ±3.53 / 416.78 ms │     no change │
│ QQuery 65 │      125.99 / 127.75 ±1.58 / 130.12 ms │        66.73 / 67.24 ±0.49 / 68.12 ms │ +1.90x faster │
│ QQuery 66 │         80.80 / 82.24 ±1.96 / 86.07 ms │        80.65 / 83.08 ±4.37 / 91.81 ms │     no change │
│ QQuery 67 │      249.45 / 253.24 ±2.61 / 257.47 ms │     244.39 / 249.07 ±3.72 / 255.79 ms │     no change │
│ QQuery 68 │         12.24 / 12.37 ±0.14 / 12.64 ms │        12.03 / 12.18 ±0.17 / 12.47 ms │     no change │
│ QQuery 69 │         57.79 / 59.13 ±1.46 / 61.96 ms │        57.06 / 57.60 ±0.39 / 58.06 ms │     no change │
│ QQuery 70 │      107.09 / 108.98 ±1.60 / 111.85 ms │     106.75 / 112.70 ±8.90 / 129.91 ms │     no change │
│ QQuery 71 │         35.51 / 37.38 ±2.81 / 42.97 ms │        35.14 / 35.80 ±0.52 / 36.73 ms │     no change │
│ QQuery 72 │ 1971.01 / 2070.02 ±101.12 / 2235.12 ms │ 2060.79 / 2128.32 ±47.15 / 2204.08 ms │     no change │
│ QQuery 73 │         10.03 / 10.25 ±0.26 / 10.64 ms │        10.11 / 13.98 ±6.39 / 26.72 ms │  1.36x slower │
│ QQuery 74 │      171.13 / 175.56 ±3.19 / 180.76 ms │     180.15 / 182.07 ±1.31 / 184.02 ms │     no change │
│ QQuery 75 │      148.33 / 150.44 ±2.69 / 155.70 ms │     149.18 / 153.40 ±5.23 / 163.30 ms │     no change │
│ QQuery 76 │         35.12 / 36.88 ±2.26 / 41.00 ms │        35.53 / 36.08 ±0.56 / 37.05 ms │     no change │
│ QQuery 77 │         61.53 / 62.46 ±0.90 / 63.96 ms │        63.08 / 66.94 ±3.93 / 74.18 ms │  1.07x slower │
│ QQuery 78 │      196.70 / 199.38 ±2.07 / 202.18 ms │     200.33 / 205.57 ±3.37 / 209.33 ms │     no change │
│ QQuery 79 │         66.47 / 66.94 ±0.46 / 67.73 ms │        68.12 / 68.68 ±0.55 / 69.38 ms │     no change │
│ QQuery 80 │       98.07 / 102.29 ±3.27 / 107.24 ms │       98.62 / 99.60 ±0.87 / 100.68 ms │     no change │
│ QQuery 81 │         26.01 / 26.44 ±0.34 / 27.00 ms │        26.15 / 27.43 ±1.77 / 30.91 ms │     no change │
│ QQuery 82 │         16.50 / 16.69 ±0.15 / 16.93 ms │        16.60 / 16.96 ±0.32 / 17.45 ms │     no change │
│ QQuery 83 │         39.89 / 40.20 ±0.27 / 40.62 ms │        41.13 / 41.54 ±0.36 / 41.97 ms │     no change │
│ QQuery 84 │         29.84 / 30.14 ±0.17 / 30.28 ms │        30.62 / 30.77 ±0.09 / 30.85 ms │     no change │
│ QQuery 85 │      107.16 / 109.72 ±2.31 / 112.94 ms │     107.72 / 111.44 ±5.68 / 122.58 ms │     no change │
│ QQuery 86 │         25.20 / 25.74 ±0.45 / 26.27 ms │        25.74 / 26.06 ±0.24 / 26.41 ms │     no change │
│ QQuery 87 │         62.16 / 62.51 ±0.22 / 62.81 ms │        64.28 / 64.79 ±0.30 / 65.10 ms │     no change │
│ QQuery 88 │         63.33 / 64.93 ±1.75 / 68.34 ms │        63.27 / 63.83 ±0.40 / 64.34 ms │     no change │
│ QQuery 89 │         36.26 / 36.57 ±0.35 / 37.24 ms │        36.47 / 37.04 ±0.47 / 37.58 ms │     no change │
│ QQuery 90 │         17.33 / 17.52 ±0.18 / 17.84 ms │        17.45 / 17.52 ±0.06 / 17.59 ms │     no change │
│ QQuery 91 │         46.69 / 47.10 ±0.31 / 47.49 ms │        46.17 / 47.07 ±0.77 / 48.04 ms │     no change │
│ QQuery 92 │         29.69 / 30.33 ±0.60 / 31.22 ms │        30.12 / 30.66 ±0.35 / 31.05 ms │     no change │
│ QQuery 93 │         49.77 / 50.97 ±2.00 / 54.96 ms │        49.94 / 50.71 ±0.61 / 51.48 ms │     no change │
│ QQuery 94 │         38.40 / 40.04 ±2.14 / 44.24 ms │        38.79 / 40.38 ±2.60 / 45.56 ms │     no change │
│ QQuery 95 │         81.05 / 82.23 ±0.92 / 83.59 ms │        82.14 / 83.44 ±1.14 / 85.38 ms │     no change │
│ QQuery 96 │         24.11 / 24.37 ±0.16 / 24.56 ms │        24.26 / 24.50 ±0.18 / 24.73 ms │     no change │
│ QQuery 97 │         47.19 / 48.44 ±1.37 / 51.11 ms │        47.19 / 47.99 ±0.45 / 48.50 ms │     no change │
│ QQuery 98 │         42.50 / 43.27 ±0.95 / 45.10 ms │        42.90 / 44.66 ±1.79 / 47.88 ms │     no change │
│ QQuery 99 │         70.14 / 70.89 ±0.47 / 71.48 ms │        70.98 / 71.61 ±0.93 / 73.45 ms │     no change │
└───────────┴────────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 9901.16ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 9892.04ms │
│ Average Time (HEAD)                       │  100.01ms │
│ Average Time (perf_dedup-inlist-pushdown) │   99.92ms │
│ Queries Faster                            │         2 │
│ Queries Slower                            │         2 │
│ Queries with No Change                    │        95 │
│ Queries with Failure                      │         0 │
└───────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.3 GiB
Avg memory 1.7 GiB
CPU user 214.9s
CPU sys 6.0s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.4 GiB
CPU user 219.8s
CPU sys 6.0s
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 perf/dedup-inlist-pushdown (d56edfd) 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 perf_dedup-inlist-pushdown
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.24 ms │                    1.22 ms │     no change │
│ QQuery 1  │   12.05 ms │                   12.10 ms │     no change │
│ QQuery 2  │   36.66 ms │                   36.56 ms │     no change │
│ QQuery 3  │   31.76 ms │                   30.70 ms │     no change │
│ QQuery 4  │  222.38 ms │                  224.39 ms │     no change │
│ QQuery 5  │  270.85 ms │                  277.20 ms │     no change │
│ QQuery 6  │    1.29 ms │                    1.28 ms │     no change │
│ QQuery 7  │   13.48 ms │                   13.62 ms │     no change │
│ QQuery 8  │  325.71 ms │                  331.29 ms │     no change │
│ QQuery 9  │  462.83 ms │                  458.37 ms │     no change │
│ QQuery 10 │   69.44 ms │                   69.64 ms │     no change │
│ QQuery 11 │   82.04 ms │                   81.03 ms │     no change │
│ QQuery 12 │  267.44 ms │                  270.74 ms │     no change │
│ QQuery 13 │  362.59 ms │                  368.37 ms │     no change │
│ QQuery 14 │  284.50 ms │                  288.40 ms │     no change │
│ QQuery 15 │  269.03 ms │                  274.09 ms │     no change │
│ QQuery 16 │  619.92 ms │                  622.76 ms │     no change │
│ QQuery 17 │  612.36 ms │                  614.83 ms │     no change │
│ QQuery 18 │ 1270.98 ms │                 1260.25 ms │     no change │
│ QQuery 19 │   27.14 ms │                   27.27 ms │     no change │
│ QQuery 20 │  510.97 ms │                  541.18 ms │  1.06x slower │
│ QQuery 21 │  529.77 ms │                  518.09 ms │     no change │
│ QQuery 22 │ 1045.89 ms │                  987.61 ms │ +1.06x faster │
│ QQuery 23 │ 3057.35 ms │                 3032.98 ms │     no change │
│ QQuery 24 │   42.95 ms │                   43.07 ms │     no change │
│ QQuery 25 │  112.75 ms │                  120.03 ms │  1.06x slower │
│ QQuery 26 │   41.48 ms │                   43.90 ms │  1.06x slower │
│ QQuery 27 │  516.68 ms │                  541.99 ms │     no change │
│ QQuery 28 │ 2899.20 ms │                 2925.39 ms │     no change │
│ QQuery 29 │   42.30 ms │                   41.54 ms │     no change │
│ QQuery 30 │  308.08 ms │                  306.89 ms │     no change │
│ QQuery 31 │  277.60 ms │                  284.43 ms │     no change │
│ QQuery 32 │  956.77 ms │                  935.07 ms │     no change │
│ QQuery 33 │ 1432.79 ms │                 1473.33 ms │     no change │
│ QQuery 34 │ 1721.62 ms │                 1513.90 ms │ +1.14x faster │
│ QQuery 35 │  282.48 ms │                  278.42 ms │     no change │
│ QQuery 36 │   66.93 ms │                   72.44 ms │  1.08x slower │
│ QQuery 37 │   41.60 ms │                   35.86 ms │ +1.16x faster │
│ QQuery 38 │   45.40 ms │                   40.69 ms │ +1.12x faster │
│ QQuery 39 │  151.18 ms │                  142.23 ms │ +1.06x faster │
│ QQuery 40 │   14.25 ms │                   15.13 ms │  1.06x slower │
│ QQuery 41 │   14.12 ms │                   13.68 ms │     no change │
│ QQuery 42 │   13.27 ms │                   13.18 ms │     no change │
└───────────┴────────────┴────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 19369.09ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 19185.14ms │
│ Average Time (HEAD)                       │   450.44ms │
│ Average Time (perf_dedup-inlist-pushdown) │   446.17ms │
│ Queries Faster                            │          5 │
│ Queries Slower                            │          5 │
│ Queries with No Change                    │         33 │
│ Queries with Failure                      │          0 │
└───────────────────────────────────────────┴────────────┘

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

Comparing HEAD and perf_dedup-inlist-pushdown
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             perf_dedup-inlist-pushdown ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.24 / 3.96 ±5.36 / 14.68 ms │           1.22 / 3.91 ±5.27 / 14.45 ms │     no change │
│ QQuery 1  │        12.05 / 12.37 ±0.23 / 12.68 ms │         12.10 / 12.37 ±0.22 / 12.67 ms │     no change │
│ QQuery 2  │        36.66 / 36.87 ±0.16 / 37.14 ms │         36.56 / 37.18 ±0.45 / 37.90 ms │     no change │
│ QQuery 3  │        31.76 / 32.93 ±1.37 / 35.60 ms │         30.70 / 31.80 ±0.67 / 32.69 ms │     no change │
│ QQuery 4  │     222.38 / 227.82 ±3.84 / 232.00 ms │     224.39 / 233.24 ±10.16 / 250.98 ms │     no change │
│ QQuery 5  │     270.85 / 273.98 ±2.06 / 276.16 ms │      277.20 / 288.00 ±6.84 / 296.56 ms │  1.05x slower │
│ QQuery 6  │           1.29 / 1.43 ±0.21 / 1.84 ms │            1.28 / 1.43 ±0.22 / 1.85 ms │     no change │
│ QQuery 7  │        13.48 / 13.60 ±0.08 / 13.74 ms │         13.62 / 13.73 ±0.09 / 13.86 ms │     no change │
│ QQuery 8  │     325.71 / 330.85 ±5.85 / 342.21 ms │      331.29 / 335.18 ±3.22 / 339.88 ms │     no change │
│ QQuery 9  │     462.83 / 470.49 ±3.98 / 474.48 ms │     458.37 / 472.27 ±16.83 / 503.39 ms │     no change │
│ QQuery 10 │        69.44 / 70.88 ±0.76 / 71.54 ms │         69.64 / 73.66 ±7.41 / 88.47 ms │     no change │
│ QQuery 11 │        82.04 / 83.26 ±1.33 / 85.78 ms │         81.03 / 83.96 ±4.79 / 93.47 ms │     no change │
│ QQuery 12 │    267.44 / 281.45 ±12.62 / 300.16 ms │      270.74 / 278.02 ±6.62 / 288.26 ms │     no change │
│ QQuery 13 │    362.59 / 415.01 ±28.41 / 443.57 ms │     368.37 / 384.21 ±11.05 / 396.59 ms │ +1.08x faster │
│ QQuery 14 │     284.50 / 296.64 ±8.72 / 310.99 ms │      288.40 / 291.48 ±3.15 / 296.04 ms │     no change │
│ QQuery 15 │     269.03 / 279.96 ±8.97 / 294.23 ms │      274.09 / 281.89 ±7.09 / 294.78 ms │     no change │
│ QQuery 16 │     619.92 / 628.47 ±7.48 / 642.34 ms │     622.76 / 666.00 ±26.61 / 699.18 ms │  1.06x slower │
│ QQuery 17 │     612.36 / 624.80 ±9.82 / 638.54 ms │     614.83 / 628.43 ±10.49 / 646.02 ms │     no change │
│ QQuery 18 │ 1270.98 / 1284.97 ±14.47 / 1310.41 ms │  1260.25 / 1279.07 ±13.48 / 1293.10 ms │     no change │
│ QQuery 19 │        27.14 / 27.33 ±0.20 / 27.70 ms │         27.27 / 27.58 ±0.48 / 28.53 ms │     no change │
│ QQuery 20 │    510.97 / 541.02 ±16.63 / 558.21 ms │      541.18 / 550.86 ±6.01 / 559.72 ms │     no change │
│ QQuery 21 │     529.77 / 538.70 ±6.71 / 550.47 ms │      518.09 / 524.63 ±4.88 / 531.52 ms │     no change │
│ QQuery 22 │ 1045.89 / 1062.49 ±20.11 / 1100.95 ms │     987.61 / 994.51 ±6.60 / 1004.34 ms │ +1.07x faster │
│ QQuery 23 │ 3057.35 / 3131.60 ±51.32 / 3191.77 ms │ 3032.98 / 3186.53 ±121.69 / 3336.64 ms │     no change │
│ QQuery 24 │        42.95 / 43.67 ±0.82 / 44.77 ms │         43.07 / 43.90 ±0.87 / 45.41 ms │     no change │
│ QQuery 25 │     112.75 / 116.75 ±3.47 / 121.12 ms │      120.03 / 124.60 ±5.01 / 132.99 ms │  1.07x slower │
│ QQuery 26 │        41.48 / 43.47 ±2.29 / 47.81 ms │         43.90 / 44.29 ±0.38 / 44.84 ms │     no change │
│ QQuery 27 │     516.68 / 522.74 ±7.63 / 537.09 ms │      541.99 / 549.86 ±5.65 / 558.11 ms │  1.05x slower │
│ QQuery 28 │ 2899.20 / 2943.97 ±50.09 / 3038.85 ms │  2925.39 / 2949.23 ±28.91 / 3001.26 ms │     no change │
│ QQuery 29 │        42.30 / 49.49 ±8.57 / 63.98 ms │        41.54 / 47.43 ±10.96 / 69.31 ms │     no change │
│ QQuery 30 │    308.08 / 321.65 ±18.43 / 356.88 ms │     306.89 / 334.58 ±17.68 / 355.30 ms │     no change │
│ QQuery 31 │     277.60 / 290.57 ±7.92 / 302.15 ms │     284.43 / 309.58 ±20.75 / 336.76 ms │  1.07x slower │
│ QQuery 32 │   956.77 / 987.25 ±17.24 / 1006.43 ms │    935.07 / 961.85 ±32.38 / 1016.01 ms │     no change │
│ QQuery 33 │ 1432.79 / 1464.77 ±25.92 / 1497.65 ms │  1473.33 / 1492.70 ±14.85 / 1511.02 ms │     no change │
│ QQuery 34 │ 1721.62 / 1754.07 ±23.88 / 1784.96 ms │  1513.90 / 1587.21 ±73.75 / 1719.62 ms │ +1.11x faster │
│ QQuery 35 │    282.48 / 349.67 ±34.02 / 376.77 ms │     278.42 / 305.42 ±35.30 / 371.50 ms │ +1.14x faster │
│ QQuery 36 │        66.93 / 71.05 ±4.32 / 79.02 ms │         72.44 / 80.80 ±8.50 / 92.98 ms │  1.14x slower │
│ QQuery 37 │        41.60 / 43.73 ±1.59 / 46.40 ms │         35.86 / 36.57 ±0.50 / 37.20 ms │ +1.20x faster │
│ QQuery 38 │        45.40 / 47.29 ±1.60 / 49.48 ms │         40.69 / 42.44 ±1.14 / 43.57 ms │ +1.11x faster │
│ QQuery 39 │     151.18 / 162.43 ±9.45 / 173.28 ms │     142.23 / 160.25 ±11.11 / 172.12 ms │     no change │
│ QQuery 40 │        14.25 / 15.19 ±1.00 / 17.12 ms │         15.13 / 16.45 ±2.18 / 20.78 ms │  1.08x slower │
│ QQuery 41 │        14.12 / 15.35 ±1.67 / 18.64 ms │         13.68 / 14.14 ±0.50 / 15.08 ms │ +1.09x faster │
│ QQuery 42 │        13.27 / 13.51 ±0.19 / 13.84 ms │         13.18 / 13.38 ±0.13 / 13.58 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 19927.50ms │
│ Total Time (perf_dedup-inlist-pushdown)   │ 19794.63ms │
│ Average Time (HEAD)                       │   463.43ms │
│ Average Time (perf_dedup-inlist-pushdown) │   460.34ms │
│ Queries Faster                            │          7 │
│ Queries Slower                            │          7 │
│ Queries with No Change                    │         29 │
│ Queries with Failure                      │          0 │
└───────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.9 GiB
Avg memory 4.8 GiB
CPU user 1018.1s
CPU sys 72.2s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 13.0 GiB
Avg memory 4.6 GiB
CPU user 1010.2s
CPU sys 73.4s
Peak spill 0 B

File an issue against this benchmark runner

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.30769% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.98%. Comparing base (33ad1cc) to head (d56edfd).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...hysical-plan/src/joins/hash_join/inlist_builder.rs 92.30% 1 Missing and 4 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #24236      +/-   ##
==========================================
- Coverage   80.99%   80.98%   -0.01%     
==========================================
  Files        1106     1106              
  Lines      383352   383458     +106     
  Branches   383352   383458     +106     
==========================================
+ Hits       310488   310554      +66     
- Misses      54544    54575      +31     
- Partials    18320    18329       +9     

☔ 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

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.

3 participants