Skip to content

feat: re-land Decimal filter selectivity, and use the default selectivity for columns without known bounds - #27148

Open
shrivasshankar wants to merge 7 commits into
apache:mainfrom
shrivasshankar:reland-decimal-filter-selectivity
Open

shrivasshankar wants to merge 7 commits into
apache:mainfrom
shrivasshankar:reland-decimal-filter-selectivity

Conversation

@shrivasshankar

@shrivasshankar shrivasshankar commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

This PR does two things:

  1. Re-lands feat: estimate Decimal filter selectivity with interval analysis #25790, which estimates decimal filters with interval analysis.
  2. For any type, not just decimals, uses the default selectivity when interval
    analysis can't estimate a filter, e.g. on a column without min/max such as
    a count(*) or rank() output. These filters were estimated at 100% of
    rows before.

#25790 let interval analysis estimate decimal filters. When interval analysis
can't tell how many values of a column pass, it estimated 100% of rows, which
is worse than the 20% default. Q18's HAVING sum(l_quantity) > 300 hit this:
the aggregate output has no min/max, and the bad estimate flipped the semi
join.

Equality on decimals also got bad estimates, since interval analysis counts
every scale step: TPC-DS ca_gmt_offset = -5 on DECIMAL(5, 2) was estimated
at 100 rows instead of 18,246.

What changes are included in this PR?

What is the testing strategy for this PR?

  • Unit tests for each case, plus filter_statistics_decimal.slt with a Q18
    plan check and the cases from review.

  • All 22 TPC-H plans (SF1, SF10) match main, with pushdown_filters on and
    off.

  • TPC-DS (SF1): q8, q34, q70 and q73 change. They filter on count(*) or
    rank() outputs, which have no min/max and were estimated at 100% on main.
    Locally they ran the same or faster:

    Query main This PR
    q8 0.49 s, 123 MB 0.50 s, 124 MB
    q34 0.18 s, 102 MB 0.13 s, 85 MB
    q70 1.52 s, 173 MB 1.11 s, 128 MB
    q73 0.17 s, 102 MB 0.13 s, 85 MB
  • The Q6-style query from Estimate Decimal filter selectivity #25613 still improves: 111,291 estimated rows
    (actual 114,160) vs 1,200,243 on main.

Are there any user-facing changes?

Better estimates for range filters on decimal columns with min/max stats.
Filters on columns without min/max now use the default selectivity instead of
100%, for any type. One new public function each: check_statistics_support
and is_lossless_decimal_cast.

Re-applies apache#25790, which was reverted in apache#27145 because of a TPC-H Q18
regression (apache#27108). The next commit fixes the regression.
… stats

Interval analysis estimates a selectivity of 1.0 for a column without
bounds. In TPC-H Q18, `HAVING sum(l_quantity) > 300` filters an aggregate
output, which has no min/max stats, so apache#25790 changed its estimate from the
default 20% to 100% and the semi join built its hash table on the wrong side.

Decimal predicates now use interval analysis only when every decimal column
in them has min and max stats. Otherwise they keep the default selectivity,
as before apache#25790.
@github-actions github-actions Bot added logical-expr Logical plan and expressions physical-expr Changes to the physical-expr crates sqllogictest SQL Logic Tests (.slt) physical-plan Changes to the physical-plan crate labels Nov 6, 2026
@shrivasshankar

Copy link
Copy Markdown
Contributor Author

cc @asolimando @devanbenz @kosiew, this re-lands apache/datafusion#25790 · feat: estimate Decimal filter… with the Q18 fix. The Q18 plan check is in filter_statistics_decimal.slt.

Interval analysis estimates an equality from the number of values in the
column's range, and for a decimal that counts every step of its scale. In
TPC-DS, `ca_gmt_offset = -5` on a DECIMAL(5, 2) column holding whole numbers
from -10 to -5 was estimated at 100 rows instead of 18,246, which flipped
the semi joins in q33, q56, q60, q61 and q91.

Decimal equality filters now keep the estimate they had before apache#25790.
Range filters on decimal columns still use interval analysis.
@shrivasshankar

Copy link
Copy Markdown
Contributor Author

Update: while checking TPC-DS, I found that = filters on decimal columns were also badly underestimated (100 rows instead of 18,246 for ca_gmt_offset = -5), which flipped 5 TPC-DS plans. I added a commit so decimal equality keeps its old estimate. All TPC-H and TPC-DS plans now match main.

@xudong963
xudong963 self-requested a review November 6, 2026 14:05
@devanbenz

devanbenz commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

@kosiew @xudong963 Are you able to kick off the automated benchmarks? We should run all available benchmarks both with pushdown filtering on and off. If we can think of any other configurations which may be impacted by this as well please run those as well.

@shrivasshankar

Better estimates for range filters on decimal columns with min/max stats. One new public function, check_statistics_support.

Better estimates is nice! But also, it would be cool to see metrics associated with performance goodness. If you have them please add them to the PR description :)

@shrivasshankar

Copy link
Copy Markdown
Contributor Author

@kosiew @xudong963 Are you able to kick off the automated benchmarks? We should run all available benchmarks both with pushdown filtering on and off. If we can think of any other configurations which may be impacted by this as well please run those as well.

@shrivasshankar

Better estimates for range filters on decimal columns with min/max stats. One new public function, check_statistics_support.

Better estimates is nice! But also, it would be cool to see metrics associated with performance goodness. If you have them please add them to the PR description :)

Thanks! With this PR, every TPC-H (SF1, SF10) and TPC-DS (SF1) plan is identical to main, with pushdown_filters both on and off, so I wouldn’t expect runtime changes on those benchmarks. The gain for now is in the estimates themselves. For example, the Q6-style filter goes from 1.2M estimated rows to 111K (actual 114K). I’ll add the benchmark results to the description once they’ve run.

@asolimando asolimando left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @shrivasshankar for the re-land and for checking all TPC-H and TPC-DS plans! The comment I'd like to settle before merging is in statistics_helper: some decimal predicates that TPC-H and TPC-DS don't cover are now estimated at 100% instead of the 20% default, the same over-estimate that flipped Q18, so I consider this a blocking issue as much as the original problem that led to the revert.

Comment thread datafusion/physical-plan/src/filter.rs Outdated
let null_rejecting_columns = collect_null_rejecting_columns(predicate);

if check_support(predicate, schema) {
if check_statistics_support(predicate, schema)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a 1100-row table (i INT in 0..99, w DECIMAL(38, 18) in 0..99, d DECIMAL(15, 2) in 0.00..0.10, reproducer below), these predicates are estimated at 1100 rows, while main gives the 20% default (220):

  • i < CAST(2.5 AS DECIMAL(5, 1)): 33 actual
  • HAVING sum(i) > CAST(300.5 AS DECIMAL(10, 1)): 72 actual, the Q18 shape
  • w < 10: 110 actual
  • CAST(d AS DOUBLE) > 0.05: 500 actual

In all of them interval analysis can't narrow the column, so the selectivity is 1.0, which is worse than the default. The two new checks miss these causes:

  • INT to decimal is lossless here, but can_propagate_cast_constraints has no rule for it, and decimal_columns_have_bounds skips INT columns
  • w's range has 99 × 10^18 values, more than the u64 returned by Interval::cardinality, so the cardinality is None
  • decimal to Float64 is lossy, so the bound is rightly not propagated, but check_statistics_support accepts the cast

HAVING sum(i) > 300 is also 1100 on main, so this is not decimal-specific. I wonder if cardinality_ratio should return None when a cardinality is unknown or propagation doesn't reach a column, so that statistics_helper falls back to the default for any type, and decimal_columns_have_bounds isn't needed (has_decimal_equality is a separate issue and should stay). WDYT?

Reproducer
# Reproducers for PR #27148. Paste at the end of filter_statistics_decimal.slt.
#
# t has 1100 rows: i cycles through 0..99 (INT), w through 0..99 as
# DECIMAL(38, 18), and d through 0.00..0.10 as DECIMAL(15, 2).

query I
COPY (
  SELECT
    CAST(value % 100 AS INT) AS i,
    CAST(value % 100 AS DECIMAL(38, 18)) AS w,
    CAST((value % 11) / 100.0 AS DECIMAL(15, 2)) AS d
  FROM range(1100)
)
TO 'test_files/scratch/filter_statistics_decimal/t.parquet'
STORED AS PARQUET;
----
1100

statement ok
set datafusion.explain.physical_plan_only = true;

statement ok
set datafusion.explain.show_statistics = true;

statement ok
set datafusion.execution.target_partitions = 1;

statement ok
CREATE EXTERNAL TABLE t
STORED AS PARQUET
LOCATION 'test_files/scratch/filter_statistics_decimal/t.parquet';

# INT column compared with a decimal literal
query TT
EXPLAIN SELECT i FROM t WHERE i < CAST(2.5 AS DECIMAL(5, 1));
----

query I
SELECT count(*) FROM t WHERE i < CAST(2.5 AS DECIMAL(5, 1));
----

# Aggregate with INT output compared with a decimal literal (TPC-H Q18 shape)
query TT
EXPLAIN SELECT i FROM t GROUP BY i HAVING sum(i) > CAST(300.5 AS DECIMAL(10, 1));
----

query I
SELECT count(*) FROM (SELECT i FROM t GROUP BY i HAVING sum(i) > CAST(300.5 AS DECIMAL(10, 1)));
----

# Range filter on a DECIMAL(38, 18) column
query TT
EXPLAIN SELECT w FROM t WHERE w < 10;
----

query I
SELECT count(*) FROM t WHERE w < 10;
----

# Decimal column under a cast to DOUBLE
query TT
EXPLAIN SELECT d FROM t WHERE CAST(d AS DOUBLE) > 0.05;
----

query I
SELECT count(*) FROM t WHERE CAST(d AS DOUBLE) > 0.05;
----

# Aggregate with INT output compared with an INT literal: no decimal involved
query TT
EXPLAIN SELECT i FROM t GROUP BY i HAVING sum(i) > 300;
----

statement ok
DROP TABLE t;

statement ok
set datafusion.execution.target_partitions = 4;

statement ok
RESET datafusion.explain.physical_plan_only;

statement ok
RESET datafusion.explain.show_statistics;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the repro! Went with your suggestion: analyze now returns no selectivity when a column's cardinality is unknown, and FilterExec falls back to the default for any type, so decimal_columns_have_bounds is gone. (I did it in calculate_selectivity since cardinality_ratio is public.) Your four cases now estimate 33, 220, 220 and 220, and they're in the slt.

Since it's not decimal-only anymore, TPC-DS q8, q34, q70 and q73 change plans. Their count(*)/rank() filters were at 100% before. Details are in the description; all four ran the same or faster locally.

// to strings) does not preserve the interval, so such expressions are
// left unanalyzed rather than producing bogus bounds.
is_datatype_supported(cast.cast_type()) && check_support(cast.expr(), schema)
is_type_supported(cast.cast_type())

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CAST(d AS DOUBLE) > 0.05 is estimated at 1100 rows instead of 220 on main (500 actual, reproducer in my comment in statistics_helper). Decimal to Float64 and narrowing decimal casts are lossy, so the bound is not propagated back and the selectivity is 1.0.

I think this branch also requires can_propagate_cast_constraints(input_type, cast.cast_type()), can you double check?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added only in check_statistics_support though, since the SHJ sanity checker uses check_support.

/// has at least as many fractional and integer digits as the source. Casting
/// bounds back to the source then rounds to a neighboring representable value,
/// which never excludes a valid input.
fn is_decimal_widening(source: &DataType, target: &DataType) -> bool {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

builder.rs has the same rule in recursive_type_can_be_coerced, which also handles INT to decimal (Int32 as (10, 0), Int64 as (19, 0)). Sharing one helper would let bounds propagate through CAST(int AS Decimal) too, fixing the i and sum(i) predicates from my comment in statistics_helper. wdyt?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved it into a shared is_lossless_decimal_cast helper. i < 2.5 now estimates 33.

Comment thread datafusion/physical-plan/src/filter.rs Outdated
.is_some_and(|field| field.data_type().is_decimal());
!is_decimal
|| column_statistics.get(column.index()).is_some_and(|stats| {
stats.min_value.get_value().is_some()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: a null min/max scalar (Precision::Exact(Decimal128(None, 15, 2))) passes this check, as get_value().is_some() is true, and gives a selectivity of 1.0. I couldn't reach it from SQL, but checking !v.is_null() would cover it. This test fails on the PR head (left: Inexact(1100), right: Inexact(220)):

#[tokio::test]
async fn test_filter_statistics_decimal_null_bounds() -> Result<()> {
    // Table:
    //      a: Decimal128(15, 2), min=NULL, max=NULL
    let schema =
        Schema::new(vec![Field::new("a", DataType::Decimal128(15, 2), true)]);
    let null_decimal = ScalarValue::Decimal128(None, 15, 2);
    let input = Arc::new(StatisticsExec::new(
        Statistics {
            num_rows: Precision::Inexact(1100),
            total_byte_size: Precision::Absent,
            column_statistics: vec![ColumnStatistics {
                min_value: Precision::Exact(null_decimal.clone()),
                max_value: Precision::Exact(null_decimal),
                ..Default::default()
            }],
        },
        schema.clone(),
    ));

    // WHERE a > 0.03
    let predicate = binary(
        col("a", &schema)?,
        Operator::Gt,
        lit(ScalarValue::Decimal128(Some(3), 15, 2)),
        &schema,
    )?;
    let filter: Arc<dyn ExecutionPlan> =
        Arc::new(FilterExec::try_new(predicate, input)?);

    let statistics =
        StatisticsContext::new().compute(filter.as_ref(), &StatisticsArgs::new())?;
    // Default selectivity (20%), as for a column without min/max
    assert_eq!(statistics.num_rows, Precision::Inexact(220));

    Ok(())
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

covered by the cardinality change now. added your test as a case in test_filter_statistics_without_bounds.

is_datatype_supported(data_type)
|| matches!(
data_type,
DataType::Decimal32(_, _)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: data_type.is_decimal(), as in filter.rs, would be shorter and consistent.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

…te a filter

Interval analysis estimated a selectivity of 1.0 when it could not tell how
many values of a column pass a predicate, which is worse than the default.
This happened for columns without min/max, decimal ranges with more than
u64::MAX values, and casts that bounds do not propagate back through.

- `analyze` returns no selectivity when a column in the predicate has an
  unknown number of values, and `FilterExec` then uses the default
  selectivity, for any type. This replaces `decimal_columns_have_bounds`.
- `check_statistics_support` rejects casts that bounds do not propagate back
  through, such as a decimal to Float64.
- Integer to decimal casts that keep every value now propagate bounds. The
  check is shared with `builder.rs` as `is_lossless_decimal_cast`.
@asolimando

Copy link
Copy Markdown
Member

Thanks @shrivasshankar, this addresses all my comments.

As the fix now applies to every type, the title and description should say it's no longer decimal-only: filters on count(*)/rank() outputs now get the default selectivity too, which is what changes TPC-DS q8, q34, q70 and q73.

For the same reason, the automated benchmarks @devanbenz asked for matter even more now. The local SF1 runs look good, but I would wait for them before merging.

@shrivasshankar shrivasshankar changed the title feat: re-land Decimal filter selectivity estimation without the TPC-H Q18 regression feat: re-land Decimal filter selectivity, and use the default selectivity for columns without known bounds Nov 9, 2026
@shrivasshankar

Copy link
Copy Markdown
Contributor Author

Thanks @shrivasshankar, this addresses all my comments.

As the fix now applies to every type, the title and description should say it's no longer decimal-only: filters on count(*)/rank() outputs now get the default selectivity too, which is what changes TPC-DS q8, q34, q70 and q73.

For the same reason, the automated benchmarks @devanbenz asked for matter even more now. The local SF1 runs look good, but I would wait for them before merging.

Thanks! Updated the title and description to make it clear it now applies to every type. Agreed, happy to wait for the benchmarks.

@jayzhan211

Copy link
Copy Markdown
Contributor

run benchmarks tpch tpch_mem tpcds

@jayzhan211

Copy link
Copy Markdown
Contributor

run benchmarks tpch tpcds

env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

@jayzhan211
jayzhan211 self-requested a review November 14, 2026 09:17
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6875079611-5088-pbjw2 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6875079611-5089-smms2 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6875079297-5085-2jfk7 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (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-c6875079297-5086-9lwhv 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

Run configuration
run benchmark tpch_mem

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-c6875079297-5087-7jcjv 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

Run configuration
run benchmark tpch_mem
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 reland-decimal-filter-selectivity
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ reland-decimal-filter-selectivity ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │ 24.75 ms │                          24.69 ms │    no change │
│ QQuery 2  │  8.81 ms │                           8.76 ms │    no change │
│ QQuery 3  │ 12.02 ms │                          12.61 ms │    no change │
│ QQuery 4  │  7.92 ms │                           7.97 ms │    no change │
│ QQuery 5  │ 20.57 ms │                          20.68 ms │    no change │
│ QQuery 6  │  4.19 ms │                           4.18 ms │    no change │
│ QQuery 7  │ 45.88 ms │                          46.50 ms │    no change │
│ QQuery 8  │ 14.96 ms │                          14.88 ms │    no change │
│ QQuery 9  │ 33.25 ms │                          33.16 ms │    no change │
│ QQuery 10 │ 16.20 ms │                          16.16 ms │    no change │
│ QQuery 11 │  6.14 ms │                           6.18 ms │    no change │
│ QQuery 12 │  8.96 ms │                           8.81 ms │    no change │
│ QQuery 13 │ 21.83 ms │                          21.05 ms │    no change │
│ QQuery 14 │  4.40 ms │                           4.38 ms │    no change │
│ QQuery 15 │  8.74 ms │                           8.94 ms │    no change │
│ QQuery 16 │  8.54 ms │                           8.44 ms │    no change │
│ QQuery 17 │ 41.95 ms │                          42.37 ms │    no change │
│ QQuery 18 │ 54.51 ms │                          55.21 ms │    no change │
│ QQuery 19 │ 15.72 ms │                          15.75 ms │    no change │
│ QQuery 20 │ 13.51 ms │                          13.35 ms │    no change │
│ QQuery 21 │ 80.36 ms │                          80.33 ms │    no change │
│ QQuery 22 │  4.91 ms │                           5.23 ms │ 1.06x slower │
└───────────┴──────────┴───────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 458.11ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 459.61ms │
│ Average Time (HEAD)                              │  20.82ms │
│ Average Time (reland-decimal-filter-selectivity) │  20.89ms │
│ Queries Faster                                   │        0 │
│ Queries Slower                                   │        1 │
│ Queries with No Change                           │       21 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 24.75 / 25.26 ±0.53 / 25.99 ms │    24.69 / 25.37 ±0.58 / 26.15 ms │     no change │
│ QQuery 2  │    8.81 / 8.97 ±0.23 / 9.41 ms │       8.76 / 9.07 ±0.34 / 9.68 ms │     no change │
│ QQuery 3  │ 12.02 / 12.74 ±0.38 / 13.14 ms │    12.61 / 13.26 ±0.39 / 13.73 ms │     no change │
│ QQuery 4  │    7.92 / 8.10 ±0.21 / 8.49 ms │       7.97 / 8.36 ±0.48 / 9.29 ms │     no change │
│ QQuery 5  │ 20.57 / 20.79 ±0.16 / 20.97 ms │    20.68 / 20.96 ±0.20 / 21.20 ms │     no change │
│ QQuery 6  │    4.19 / 4.22 ±0.03 / 4.27 ms │       4.18 / 4.31 ±0.07 / 4.39 ms │     no change │
│ QQuery 7  │ 45.88 / 50.87 ±3.81 / 56.81 ms │    46.50 / 51.15 ±5.42 / 61.60 ms │     no change │
│ QQuery 8  │ 14.96 / 15.12 ±0.16 / 15.41 ms │    14.88 / 15.09 ±0.22 / 15.49 ms │     no change │
│ QQuery 9  │ 33.25 / 34.61 ±1.81 / 37.96 ms │    33.16 / 34.92 ±2.05 / 38.78 ms │     no change │
│ QQuery 10 │ 16.20 / 16.62 ±0.29 / 16.95 ms │    16.16 / 16.45 ±0.21 / 16.70 ms │     no change │
│ QQuery 11 │    6.14 / 6.36 ±0.32 / 6.99 ms │       6.18 / 6.42 ±0.21 / 6.79 ms │     no change │
│ QQuery 12 │   8.96 / 9.39 ±0.44 / 10.18 ms │       8.81 / 9.05 ±0.24 / 9.43 ms │     no change │
│ QQuery 13 │ 21.83 / 25.53 ±2.94 / 28.09 ms │    21.05 / 23.99 ±3.27 / 28.47 ms │ +1.06x faster │
│ QQuery 14 │    4.40 / 4.58 ±0.24 / 5.05 ms │       4.38 / 4.56 ±0.19 / 4.92 ms │     no change │
│ QQuery 15 │    8.74 / 9.13 ±0.23 / 9.41 ms │       8.94 / 9.04 ±0.10 / 9.21 ms │     no change │
│ QQuery 16 │    8.54 / 8.63 ±0.06 / 8.74 ms │       8.44 / 8.58 ±0.08 / 8.67 ms │     no change │
│ QQuery 17 │ 41.95 / 42.85 ±0.48 / 43.30 ms │    42.37 / 42.82 ±0.42 / 43.39 ms │     no change │
│ QQuery 18 │ 54.51 / 56.66 ±2.18 / 60.85 ms │    55.21 / 57.58 ±2.28 / 61.74 ms │     no change │
│ QQuery 19 │ 15.72 / 16.01 ±0.21 / 16.36 ms │    15.75 / 16.01 ±0.26 / 16.50 ms │     no change │
│ QQuery 20 │ 13.51 / 14.57 ±1.93 / 18.43 ms │    13.35 / 14.55 ±2.00 / 18.54 ms │     no change │
│ QQuery 21 │ 80.36 / 83.87 ±4.98 / 93.71 ms │    80.33 / 83.70 ±4.81 / 93.07 ms │     no change │
│ QQuery 22 │    4.91 / 5.33 ±0.32 / 5.90 ms │       5.23 / 5.42 ±0.29 / 5.98 ms │     no change │
└───────────┴────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 480.20ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 480.66ms │
│ Average Time (HEAD)                              │  21.83ms │
│ Average Time (reland-decimal-filter-selectivity) │  21.85ms │
│ Queries Faster                                   │        1 │
│ Queries Slower                                   │        0 │
│ Queries with No Change                           │       21 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

Resource Usage

tpch_mem — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 3.9 GiB
Avg memory 1.5 GiB
CPU user 13.0s
CPU sys 0.3s
Peak spill 0 B

tpch_mem — branch

Metric Value
Wall time 5.0s
Peak memory 3.8 GiB
Avg memory 1.5 GiB
CPU user 12.9s
CPU sys 0.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (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 reland-decimal-filter-selectivity
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ reland-decimal-filter-selectivity ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.33 ms │                          40.85 ms │ no change │
│ QQuery 2  │ 17.99 ms │                          18.52 ms │ no change │
│ QQuery 3  │ 28.16 ms │                          28.13 ms │ no change │
│ QQuery 4  │ 16.73 ms │                          16.84 ms │ no change │
│ QQuery 5  │ 34.84 ms │                          34.70 ms │ no change │
│ QQuery 6  │ 13.48 ms │                          13.65 ms │ no change │
│ QQuery 7  │ 40.21 ms │                          40.24 ms │ no change │
│ QQuery 8  │ 40.13 ms │                          40.13 ms │ no change │
│ QQuery 9  │ 49.06 ms │                          48.82 ms │ no change │
│ QQuery 10 │ 41.10 ms │                          40.73 ms │ no change │
│ QQuery 11 │ 13.87 ms │                          13.66 ms │ no change │
│ QQuery 12 │ 18.26 ms │                          17.95 ms │ no change │
│ QQuery 13 │ 40.65 ms │                          40.71 ms │ no change │
│ QQuery 14 │ 24.46 ms │                          24.41 ms │ no change │
│ QQuery 15 │ 31.55 ms │                          31.51 ms │ no change │
│ QQuery 16 │ 13.86 ms │                          13.97 ms │ no change │
│ QQuery 17 │ 71.88 ms │                          71.39 ms │ no change │
│ QQuery 18 │ 42.77 ms │                          42.60 ms │ no change │
│ QQuery 19 │ 33.47 ms │                          32.98 ms │ no change │
│ QQuery 20 │ 32.95 ms │                          32.31 ms │ no change │
│ QQuery 21 │ 56.33 ms │                          56.78 ms │ no change │
│ QQuery 22 │ 14.25 ms │                          13.89 ms │ no change │
└───────────┴──────────┴───────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 716.34ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 714.78ms │
│ Average Time (HEAD)                              │  32.56ms │
│ Average Time (reland-decimal-filter-selectivity) │  32.49ms │
│ Queries Faster                                   │        0 │
│ Queries Slower                                   │        0 │
│ Queries with No Change                           │       22 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ reland-decimal-filter-selectivity ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.33 / 41.63 ±1.33 / 43.49 ms │    40.85 / 42.63 ±1.29 / 44.19 ms │ no change │
│ QQuery 2  │ 17.99 / 18.86 ±0.62 / 19.70 ms │    18.52 / 18.81 ±0.22 / 19.18 ms │ no change │
│ QQuery 3  │ 28.16 / 28.83 ±0.87 / 30.54 ms │    28.13 / 28.23 ±0.06 / 28.28 ms │ no change │
│ QQuery 4  │ 16.73 / 17.01 ±0.18 / 17.20 ms │    16.84 / 17.27 ±0.57 / 18.37 ms │ no change │
│ QQuery 5  │ 34.84 / 34.92 ±0.09 / 35.09 ms │    34.70 / 34.91 ±0.13 / 35.04 ms │ no change │
│ QQuery 6  │ 13.48 / 13.65 ±0.22 / 14.08 ms │    13.65 / 14.15 ±0.78 / 15.70 ms │ no change │
│ QQuery 7  │ 40.21 / 41.56 ±1.21 / 43.66 ms │    40.24 / 41.92 ±1.23 / 43.68 ms │ no change │
│ QQuery 8  │ 40.13 / 41.62 ±1.42 / 43.86 ms │    40.13 / 41.30 ±1.83 / 44.94 ms │ no change │
│ QQuery 9  │ 49.06 / 50.68 ±1.23 / 52.23 ms │    48.82 / 50.68 ±1.71 / 53.85 ms │ no change │
│ QQuery 10 │ 41.10 / 41.85 ±0.99 / 43.69 ms │    40.73 / 41.93 ±1.21 / 43.86 ms │ no change │
│ QQuery 11 │ 13.87 / 14.04 ±0.14 / 14.29 ms │    13.66 / 14.34 ±0.66 / 15.29 ms │ no change │
│ QQuery 12 │ 18.26 / 18.63 ±0.28 / 19.13 ms │    17.95 / 18.46 ±0.32 / 18.91 ms │ no change │
│ QQuery 13 │ 40.65 / 41.97 ±1.31 / 44.16 ms │    40.71 / 41.20 ±0.39 / 41.69 ms │ no change │
│ QQuery 14 │ 24.46 / 24.84 ±0.32 / 25.44 ms │    24.41 / 24.76 ±0.27 / 25.06 ms │ no change │
│ QQuery 15 │ 31.55 / 32.17 ±0.41 / 32.62 ms │    31.51 / 32.04 ±0.36 / 32.39 ms │ no change │
│ QQuery 16 │ 13.86 / 14.06 ±0.27 / 14.59 ms │    13.97 / 14.15 ±0.11 / 14.31 ms │ no change │
│ QQuery 17 │ 71.88 / 73.93 ±1.55 / 76.25 ms │    71.39 / 74.42 ±2.50 / 77.69 ms │ no change │
│ QQuery 18 │ 42.77 / 43.35 ±0.66 / 44.58 ms │    42.60 / 45.11 ±1.67 / 47.32 ms │ no change │
│ QQuery 19 │ 33.47 / 34.81 ±1.48 / 37.46 ms │    32.98 / 33.60 ±0.91 / 35.40 ms │ no change │
│ QQuery 20 │ 32.95 / 33.21 ±0.19 / 33.45 ms │    32.31 / 32.96 ±0.65 / 34.04 ms │ no change │
│ QQuery 21 │ 56.33 / 57.42 ±0.90 / 58.73 ms │    56.78 / 57.84 ±0.93 / 59.31 ms │ no change │
│ QQuery 22 │ 14.25 / 14.41 ±0.17 / 14.74 ms │    13.89 / 14.21 ±0.19 / 14.48 ms │ no change │
└───────────┴────────────────────────────────┴───────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 733.46ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 734.93ms │
│ Average Time (HEAD)                              │  33.34ms │
│ Average Time (reland-decimal-filter-selectivity) │  33.41ms │
│ Queries Faster                                   │        0 │
│ Queries Slower                                   │        0 │
│ Queries with No Change                           │       22 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 485.0 MiB
CPU user 19.7s
CPU sys 1.8s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 479.6 MiB
CPU user 19.8s
CPU sys 1.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ reland-decimal-filter-selectivity ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 41.96 ms │                          41.73 ms │ no change │
│ QQuery 2  │ 18.90 ms │                          19.11 ms │ no change │
│ QQuery 3  │ 29.13 ms │                          29.01 ms │ no change │
│ QQuery 4  │ 21.44 ms │                          21.41 ms │ no change │
│ QQuery 5  │ 40.49 ms │                          40.28 ms │ no change │
│ QQuery 6  │ 17.64 ms │                          17.89 ms │ no change │
│ QQuery 7  │ 41.86 ms │                          41.16 ms │ no change │
│ QQuery 8  │ 44.86 ms │                          44.00 ms │ no change │
│ QQuery 9  │ 59.10 ms │                          59.05 ms │ no change │
│ QQuery 10 │ 42.82 ms │                          42.67 ms │ no change │
│ QQuery 11 │ 14.96 ms │                          14.98 ms │ no change │
│ QQuery 12 │ 26.26 ms │                          25.81 ms │ no change │
│ QQuery 13 │ 39.63 ms │                          39.65 ms │ no change │
│ QQuery 14 │ 23.45 ms │                          23.27 ms │ no change │
│ QQuery 15 │ 34.41 ms │                          34.05 ms │ no change │
│ QQuery 16 │ 14.52 ms │                          14.36 ms │ no change │
│ QQuery 17 │ 43.91 ms │                          43.99 ms │ no change │
│ QQuery 18 │ 47.60 ms │                          47.29 ms │ no change │
│ QQuery 19 │ 29.70 ms │                          29.38 ms │ no change │
│ QQuery 20 │ 27.94 ms │                          28.04 ms │ no change │
│ QQuery 21 │ 58.12 ms │                          56.47 ms │ no change │
│ QQuery 22 │ 15.43 ms │                          14.80 ms │ no change │
└───────────┴──────────┴───────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 734.13ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 728.41ms │
│ Average Time (HEAD)                              │  33.37ms │
│ Average Time (reland-decimal-filter-selectivity) │  33.11ms │
│ Queries Faster                                   │        0 │
│ Queries Slower                                   │        0 │
│ Queries with No Change                           │       22 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.96 / 42.77 ±1.28 / 45.31 ms │    41.73 / 43.72 ±2.54 / 48.41 ms │     no change │
│ QQuery 2  │ 18.90 / 19.35 ±0.36 / 19.82 ms │    19.11 / 19.51 ±0.62 / 20.74 ms │     no change │
│ QQuery 3  │ 29.13 / 29.49 ±0.31 / 29.90 ms │    29.01 / 29.34 ±0.35 / 30.02 ms │     no change │
│ QQuery 4  │ 21.44 / 21.75 ±0.37 / 22.47 ms │    21.41 / 22.60 ±0.86 / 23.59 ms │     no change │
│ QQuery 5  │ 40.49 / 41.10 ±0.35 / 41.46 ms │    40.28 / 40.85 ±0.56 / 41.53 ms │     no change │
│ QQuery 6  │ 17.64 / 18.68 ±0.84 / 20.08 ms │    17.89 / 18.24 ±0.54 / 19.31 ms │     no change │
│ QQuery 7  │ 41.86 / 44.31 ±2.93 / 49.78 ms │    41.16 / 42.69 ±1.47 / 45.33 ms │     no change │
│ QQuery 8  │ 44.86 / 45.15 ±0.19 / 45.33 ms │    44.00 / 45.05 ±0.93 / 46.56 ms │     no change │
│ QQuery 9  │ 59.10 / 60.20 ±1.30 / 62.59 ms │    59.05 / 60.77 ±1.08 / 62.29 ms │     no change │
│ QQuery 10 │ 42.82 / 44.91 ±1.44 / 46.48 ms │    42.67 / 43.06 ±0.27 / 43.47 ms │     no change │
│ QQuery 11 │ 14.96 / 15.21 ±0.21 / 15.55 ms │    14.98 / 15.10 ±0.13 / 15.34 ms │     no change │
│ QQuery 12 │ 26.26 / 27.20 ±1.65 / 30.50 ms │    25.81 / 26.73 ±1.29 / 29.29 ms │     no change │
│ QQuery 13 │ 39.63 / 40.23 ±0.49 / 40.84 ms │    39.65 / 40.06 ±0.35 / 40.60 ms │     no change │
│ QQuery 14 │ 23.45 / 23.58 ±0.15 / 23.88 ms │    23.27 / 23.47 ±0.15 / 23.62 ms │     no change │
│ QQuery 15 │ 34.41 / 34.97 ±0.83 / 36.61 ms │    34.05 / 36.15 ±2.53 / 41.10 ms │     no change │
│ QQuery 16 │ 14.52 / 14.72 ±0.14 / 14.92 ms │    14.36 / 14.63 ±0.15 / 14.80 ms │     no change │
│ QQuery 17 │ 43.91 / 44.54 ±0.78 / 45.95 ms │    43.99 / 44.27 ±0.25 / 44.75 ms │     no change │
│ QQuery 18 │ 47.60 / 48.44 ±0.89 / 50.07 ms │    47.29 / 48.71 ±1.60 / 51.80 ms │     no change │
│ QQuery 19 │ 29.70 / 29.73 ±0.03 / 29.78 ms │    29.38 / 29.54 ±0.11 / 29.69 ms │     no change │
│ QQuery 20 │ 27.94 / 28.12 ±0.14 / 28.36 ms │    28.04 / 28.54 ±0.47 / 29.31 ms │     no change │
│ QQuery 21 │ 58.12 / 58.92 ±0.81 / 60.41 ms │    56.47 / 57.36 ±1.11 / 59.50 ms │     no change │
│ QQuery 22 │ 15.43 / 15.78 ±0.56 / 16.90 ms │    14.80 / 14.95 ±0.10 / 15.05 ms │ +1.06x faster │
└───────────┴────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 749.15ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 745.34ms │
│ Average Time (HEAD)                              │  34.05ms │
│ Average Time (reland-decimal-filter-selectivity) │  33.88ms │
│ Queries Faster                                   │        1 │
│ Queries Slower                                   │        0 │
│ Queries with No Change                           │       21 │
│ Queries with Failure                             │        0 │
└──────────────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 534.5 MiB
CPU user 19.5s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 523.5 MiB
CPU user 19.6s
CPU sys 1.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (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 reland-decimal-filter-selectivity
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.21 ms │                           5.30 ms │     no change │
│ QQuery 2  │   78.94 ms │                          79.20 ms │     no change │
│ QQuery 3  │   28.58 ms │                          28.78 ms │     no change │
│ QQuery 4  │  429.74 ms │                         434.10 ms │     no change │
│ QQuery 5  │   49.33 ms │                          49.62 ms │     no change │
│ QQuery 6  │   34.85 ms │                          34.88 ms │     no change │
│ QQuery 7  │   71.33 ms │                          71.70 ms │     no change │
│ QQuery 8  │   36.16 ms │                          37.39 ms │     no change │
│ QQuery 9  │   51.66 ms │                          50.92 ms │     no change │
│ QQuery 10 │   60.19 ms │                          60.42 ms │     no change │
│ QQuery 11 │  265.31 ms │                         268.78 ms │     no change │
│ QQuery 12 │   28.43 ms │                          28.28 ms │     no change │
│ QQuery 13 │  112.06 ms │                         111.93 ms │     no change │
│ QQuery 14 │  373.19 ms │                         376.00 ms │     no change │
│ QQuery 15 │   52.49 ms │                          53.27 ms │     no change │
│ QQuery 16 │    5.77 ms │                           5.75 ms │     no change │
│ QQuery 17 │   75.40 ms │                          74.96 ms │     no change │
│ QQuery 18 │  102.23 ms │                         102.63 ms │     no change │
│ QQuery 19 │   40.55 ms │                          40.89 ms │     no change │
│ QQuery 20 │   35.29 ms │                          35.63 ms │     no change │
│ QQuery 21 │   16.55 ms │                          16.84 ms │     no change │
│ QQuery 22 │   61.83 ms │                          63.42 ms │     no change │
│ QQuery 23 │  284.74 ms │                         292.30 ms │     no change │
│ QQuery 24 │  188.88 ms │                         189.56 ms │     no change │
│ QQuery 25 │  104.38 ms │                         104.85 ms │     no change │
│ QQuery 26 │   44.85 ms │                          44.97 ms │     no change │
│ QQuery 27 │    4.77 ms │                           4.85 ms │     no change │
│ QQuery 28 │   60.89 ms │                          57.26 ms │ +1.06x faster │
│ QQuery 29 │   90.78 ms │                          90.52 ms │     no change │
│ QQuery 30 │   31.12 ms │                          31.54 ms │     no change │
│ QQuery 31 │  105.99 ms │                         106.90 ms │     no change │
│ QQuery 32 │   19.45 ms │                          19.70 ms │     no change │
│ QQuery 33 │   36.17 ms │                          36.95 ms │     no change │
│ QQuery 34 │    5.39 ms │                           5.45 ms │     no change │
│ QQuery 35 │   70.46 ms │                          70.06 ms │     no change │
│ QQuery 36 │    5.35 ms │                           5.35 ms │     no change │
│ QQuery 37 │    6.75 ms │                           6.73 ms │     no change │
│ QQuery 38 │   59.20 ms │                          59.67 ms │     no change │
│ QQuery 39 │   71.05 ms │                          71.70 ms │     no change │
│ QQuery 40 │   22.40 ms │                          22.52 ms │     no change │
│ QQuery 41 │   12.43 ms │                          12.71 ms │     no change │
│ QQuery 42 │   23.47 ms │                          24.11 ms │     no change │
│ QQuery 43 │    4.41 ms │                           4.54 ms │     no change │
│ QQuery 44 │    5.36 ms │                           5.58 ms │     no change │
│ QQuery 45 │   35.79 ms │                          36.93 ms │     no change │
│ QQuery 46 │   11.29 ms │                          11.49 ms │     no change │
│ QQuery 47 │  217.00 ms │                         223.13 ms │     no change │
│ QQuery 48 │   91.11 ms │                          92.33 ms │     no change │
│ QQuery 49 │   68.27 ms │                          71.04 ms │     no change │
│ QQuery 50 │   55.37 ms │                          56.92 ms │     no change │
│ QQuery 51 │   91.03 ms │                          94.91 ms │     no change │
│ QQuery 52 │   23.89 ms │                          24.80 ms │     no change │
│ QQuery 53 │   28.92 ms │                          29.39 ms │     no change │
│ QQuery 54 │   52.86 ms │                          54.07 ms │     no change │
│ QQuery 55 │   23.30 ms │                          23.48 ms │     no change │
│ QQuery 56 │   37.52 ms │                          37.94 ms │     no change │
│ QQuery 57 │  166.72 ms │                         168.73 ms │     no change │
│ QQuery 58 │  105.29 ms │                         108.91 ms │     no change │
│ QQuery 59 │  113.82 ms │                         116.36 ms │     no change │
│ QQuery 60 │   38.44 ms │                          38.82 ms │     no change │
│ QQuery 61 │    8.78 ms │                           9.28 ms │  1.06x slower │
│ QQuery 62 │   43.12 ms │                          44.50 ms │     no change │
│ QQuery 63 │   29.11 ms │                          29.77 ms │     no change │
│ QQuery 64 │  345.54 ms │                         351.66 ms │     no change │
│ QQuery 65 │   73.07 ms │                          74.48 ms │     no change │
│ QQuery 66 │   71.31 ms │                          74.09 ms │     no change │
│ QQuery 67 │  243.74 ms │                         244.29 ms │     no change │
│ QQuery 68 │    6.18 ms │                           6.32 ms │     no change │
│ QQuery 69 │   54.60 ms │                          55.58 ms │     no change │
│ QQuery 70 │  102.88 ms │                          78.49 ms │ +1.31x faster │
│ QQuery 71 │   34.76 ms │                          34.81 ms │     no change │
│ QQuery 72 │ 1550.71 ms │                        1616.18 ms │     no change │
│ QQuery 73 │    5.21 ms │                           5.11 ms │     no change │
│ QQuery 74 │  183.50 ms │                         184.93 ms │     no change │
│ QQuery 75 │  136.68 ms │                         137.64 ms │     no change │
│ QQuery 76 │   33.97 ms │                          33.99 ms │     no change │
│ QQuery 77 │   58.71 ms │                          59.08 ms │     no change │
│ QQuery 78 │  260.90 ms │                         260.96 ms │     no change │
│ QQuery 79 │   65.99 ms │                          65.86 ms │     no change │
│ QQuery 80 │   92.72 ms │                          92.44 ms │     no change │
│ QQuery 81 │   25.47 ms │                          25.22 ms │     no change │
│ QQuery 82 │   16.13 ms │                          16.19 ms │     no change │
│ QQuery 83 │   32.02 ms │                          32.02 ms │     no change │
│ QQuery 84 │   28.87 ms │                          28.84 ms │     no change │
│ QQuery 85 │   96.67 ms │                          96.47 ms │     no change │
│ QQuery 86 │   25.09 ms │                          24.99 ms │     no change │
│ QQuery 87 │   59.77 ms │                          60.80 ms │     no change │
│ QQuery 88 │   59.26 ms │                          59.67 ms │     no change │
│ QQuery 89 │   34.67 ms │                          34.55 ms │     no change │
│ QQuery 90 │   15.91 ms │                          15.97 ms │     no change │
│ QQuery 91 │   40.18 ms │                          40.46 ms │     no change │
│ QQuery 92 │   28.87 ms │                          28.58 ms │     no change │
│ QQuery 93 │   49.38 ms │                          48.74 ms │     no change │
│ QQuery 94 │   37.80 ms │                          37.67 ms │     no change │
│ QQuery 95 │   79.01 ms │                          78.50 ms │     no change │
│ QQuery 96 │   23.48 ms │                          23.47 ms │     no change │
│ QQuery 97 │   50.22 ms │                          49.98 ms │     no change │
│ QQuery 98 │   42.52 ms │                          42.97 ms │     no change │
│ QQuery 99 │   64.12 ms │                          64.79 ms │     no change │
└───────────┴────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 8644.97ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 8757.12ms │
│ Average Time (HEAD)                              │   87.32ms │
│ Average Time (reland-decimal-filter-selectivity) │   88.46ms │
│ Queries Faster                                   │         2 │
│ Queries Slower                                   │         1 │
│ Queries with No Change                           │        96 │
│ Queries with Failure                             │         0 │
└──────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃     reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.21 / 5.72 ±0.83 / 7.36 ms │           5.30 / 5.92 ±1.09 / 8.09 ms │     no change │
│ QQuery 2  │        78.94 / 79.55 ±0.71 / 80.68 ms │        79.20 / 79.74 ±0.38 / 80.36 ms │     no change │
│ QQuery 3  │        28.58 / 28.83 ±0.20 / 29.12 ms │        28.78 / 28.84 ±0.05 / 28.92 ms │     no change │
│ QQuery 4  │     429.74 / 434.88 ±3.89 / 441.08 ms │     434.10 / 437.18 ±2.80 / 440.63 ms │     no change │
│ QQuery 5  │        49.33 / 49.94 ±0.43 / 50.68 ms │        49.62 / 51.68 ±3.06 / 57.74 ms │     no change │
│ QQuery 6  │        34.85 / 37.70 ±4.16 / 45.98 ms │        34.88 / 35.46 ±0.57 / 36.44 ms │ +1.06x faster │
│ QQuery 7  │        71.33 / 72.35 ±0.85 / 73.54 ms │        71.70 / 72.66 ±0.55 / 73.27 ms │     no change │
│ QQuery 8  │        36.16 / 36.30 ±0.14 / 36.54 ms │        37.39 / 37.76 ±0.28 / 38.11 ms │     no change │
│ QQuery 9  │        51.66 / 53.54 ±1.36 / 55.10 ms │        50.92 / 55.48 ±4.23 / 62.58 ms │     no change │
│ QQuery 10 │        60.19 / 62.02 ±3.13 / 68.27 ms │        60.42 / 61.13 ±0.50 / 61.71 ms │     no change │
│ QQuery 11 │     265.31 / 271.49 ±4.61 / 279.22 ms │     268.78 / 273.98 ±4.29 / 279.57 ms │     no change │
│ QQuery 12 │        28.43 / 28.86 ±0.26 / 29.24 ms │        28.28 / 28.57 ±0.32 / 29.13 ms │     no change │
│ QQuery 13 │     112.06 / 113.46 ±1.56 / 115.79 ms │     111.93 / 113.14 ±1.18 / 115.25 ms │     no change │
│ QQuery 14 │     373.19 / 377.65 ±2.48 / 379.67 ms │     376.00 / 378.25 ±2.33 / 381.09 ms │     no change │
│ QQuery 15 │        52.49 / 54.20 ±2.80 / 59.80 ms │        53.27 / 54.56 ±2.35 / 59.25 ms │     no change │
│ QQuery 16 │           5.77 / 5.96 ±0.25 / 6.46 ms │           5.75 / 5.94 ±0.23 / 6.38 ms │     no change │
│ QQuery 17 │        75.40 / 75.64 ±0.20 / 75.97 ms │        74.96 / 75.50 ±0.58 / 76.56 ms │     no change │
│ QQuery 18 │     102.23 / 104.40 ±1.53 / 106.23 ms │     102.63 / 104.40 ±1.72 / 107.29 ms │     no change │
│ QQuery 19 │        40.55 / 41.14 ±0.55 / 41.93 ms │        40.89 / 41.30 ±0.46 / 42.18 ms │     no change │
│ QQuery 20 │        35.29 / 35.88 ±0.37 / 36.24 ms │        35.63 / 36.11 ±0.38 / 36.64 ms │     no change │
│ QQuery 21 │        16.55 / 17.10 ±0.98 / 19.05 ms │        16.84 / 17.09 ±0.23 / 17.46 ms │     no change │
│ QQuery 22 │        61.83 / 62.90 ±0.93 / 64.54 ms │        63.42 / 63.83 ±0.40 / 64.60 ms │     no change │
│ QQuery 23 │     284.74 / 291.91 ±4.67 / 298.87 ms │     292.30 / 292.90 ±0.56 / 293.96 ms │     no change │
│ QQuery 24 │     188.88 / 194.06 ±5.35 / 203.37 ms │     189.56 / 193.84 ±5.45 / 204.37 ms │     no change │
│ QQuery 25 │     104.38 / 104.93 ±0.59 / 106.01 ms │     104.85 / 106.02 ±0.85 / 107.11 ms │     no change │
│ QQuery 26 │        44.85 / 46.85 ±3.34 / 53.53 ms │        44.97 / 46.14 ±1.98 / 50.10 ms │     no change │
│ QQuery 27 │           4.77 / 4.94 ±0.20 / 5.32 ms │           4.85 / 5.07 ±0.27 / 5.61 ms │     no change │
│ QQuery 28 │        60.89 / 61.44 ±0.39 / 61.90 ms │        57.26 / 61.24 ±2.02 / 62.66 ms │     no change │
│ QQuery 29 │        90.78 / 92.61 ±1.67 / 95.12 ms │        90.52 / 92.37 ±1.35 / 94.44 ms │     no change │
│ QQuery 30 │        31.12 / 31.57 ±0.38 / 32.24 ms │        31.54 / 32.03 ±0.62 / 33.24 ms │     no change │
│ QQuery 31 │     105.99 / 108.43 ±3.20 / 114.70 ms │     106.90 / 107.40 ±0.52 / 108.32 ms │     no change │
│ QQuery 32 │        19.45 / 19.67 ±0.29 / 20.24 ms │        19.70 / 20.50 ±1.23 / 22.93 ms │     no change │
│ QQuery 33 │        36.17 / 36.61 ±0.42 / 37.40 ms │        36.95 / 37.33 ±0.20 / 37.51 ms │     no change │
│ QQuery 34 │           5.39 / 5.61 ±0.24 / 5.95 ms │           5.45 / 5.62 ±0.22 / 6.05 ms │     no change │
│ QQuery 35 │        70.46 / 71.04 ±0.45 / 71.65 ms │        70.06 / 71.66 ±1.19 / 73.20 ms │     no change │
│ QQuery 36 │           5.35 / 5.53 ±0.24 / 6.00 ms │           5.35 / 5.57 ±0.26 / 6.07 ms │     no change │
│ QQuery 37 │           6.75 / 6.90 ±0.19 / 7.25 ms │           6.73 / 6.81 ±0.07 / 6.93 ms │     no change │
│ QQuery 38 │        59.20 / 59.73 ±0.42 / 60.50 ms │        59.67 / 60.21 ±0.44 / 60.88 ms │     no change │
│ QQuery 39 │        71.05 / 71.98 ±0.99 / 73.72 ms │        71.70 / 72.00 ±0.31 / 72.51 ms │     no change │
│ QQuery 40 │        22.40 / 23.47 ±1.98 / 27.43 ms │        22.52 / 23.93 ±2.48 / 28.87 ms │     no change │
│ QQuery 41 │        12.43 / 12.65 ±0.16 / 12.89 ms │        12.71 / 12.84 ±0.19 / 13.21 ms │     no change │
│ QQuery 42 │        23.47 / 24.08 ±0.81 / 25.59 ms │        24.11 / 24.28 ±0.29 / 24.87 ms │     no change │
│ QQuery 43 │           4.41 / 4.52 ±0.17 / 4.86 ms │           4.54 / 4.68 ±0.20 / 5.07 ms │     no change │
│ QQuery 44 │           5.36 / 5.43 ±0.08 / 5.57 ms │           5.58 / 5.68 ±0.09 / 5.85 ms │     no change │
│ QQuery 45 │        35.79 / 36.49 ±0.42 / 37.00 ms │        36.93 / 37.30 ±0.31 / 37.77 ms │     no change │
│ QQuery 46 │        11.29 / 11.54 ±0.27 / 12.06 ms │        11.49 / 11.96 ±0.39 / 12.44 ms │     no change │
│ QQuery 47 │     217.00 / 221.99 ±5.73 / 232.92 ms │     223.13 / 226.22 ±2.32 / 228.98 ms │     no change │
│ QQuery 48 │        91.11 / 92.38 ±1.37 / 95.04 ms │        92.33 / 93.89 ±2.36 / 98.58 ms │     no change │
│ QQuery 49 │        68.27 / 70.00 ±1.39 / 72.53 ms │        71.04 / 71.62 ±0.81 / 73.22 ms │     no change │
│ QQuery 50 │        55.37 / 56.76 ±1.63 / 59.93 ms │        56.92 / 57.41 ±0.38 / 58.07 ms │     no change │
│ QQuery 51 │       91.03 / 95.56 ±3.36 / 101.45 ms │       94.91 / 97.91 ±2.97 / 102.47 ms │     no change │
│ QQuery 52 │        23.89 / 24.14 ±0.46 / 25.06 ms │        24.80 / 25.32 ±0.31 / 25.77 ms │     no change │
│ QQuery 53 │        28.92 / 29.10 ±0.17 / 29.40 ms │        29.39 / 29.67 ±0.20 / 29.93 ms │     no change │
│ QQuery 54 │        52.86 / 53.42 ±0.72 / 54.84 ms │        54.07 / 54.34 ±0.26 / 54.73 ms │     no change │
│ QQuery 55 │        23.30 / 23.72 ±0.37 / 24.36 ms │        23.48 / 23.78 ±0.16 / 23.97 ms │     no change │
│ QQuery 56 │        37.52 / 38.35 ±0.52 / 39.07 ms │        37.94 / 40.41 ±3.43 / 47.21 ms │  1.05x slower │
│ QQuery 57 │     166.72 / 170.10 ±4.31 / 178.54 ms │     168.73 / 170.75 ±1.42 / 172.72 ms │     no change │
│ QQuery 58 │     105.29 / 107.31 ±2.80 / 112.81 ms │     108.91 / 110.17 ±1.41 / 112.88 ms │     no change │
│ QQuery 59 │     113.82 / 114.34 ±0.31 / 114.72 ms │     116.36 / 118.01 ±2.05 / 121.67 ms │     no change │
│ QQuery 60 │        38.44 / 39.87 ±1.45 / 42.47 ms │        38.82 / 39.63 ±0.46 / 40.09 ms │     no change │
│ QQuery 61 │           8.78 / 8.98 ±0.22 / 9.41 ms │           9.28 / 9.41 ±0.12 / 9.62 ms │     no change │
│ QQuery 62 │        43.12 / 43.72 ±0.79 / 45.26 ms │        44.50 / 44.85 ±0.30 / 45.27 ms │     no change │
│ QQuery 63 │        29.11 / 29.46 ±0.31 / 30.03 ms │        29.77 / 30.24 ±0.62 / 31.40 ms │     no change │
│ QQuery 64 │     345.54 / 348.86 ±2.64 / 351.98 ms │     351.66 / 355.82 ±4.30 / 363.79 ms │     no change │
│ QQuery 65 │        73.07 / 74.64 ±1.45 / 77.33 ms │        74.48 / 75.40 ±0.90 / 77.02 ms │     no change │
│ QQuery 66 │        71.31 / 73.91 ±2.60 / 78.79 ms │        74.09 / 77.67 ±5.60 / 88.83 ms │  1.05x slower │
│ QQuery 67 │     243.74 / 250.21 ±7.79 / 264.99 ms │     244.29 / 248.77 ±4.44 / 257.03 ms │     no change │
│ QQuery 68 │           6.18 / 6.39 ±0.22 / 6.82 ms │           6.32 / 6.53 ±0.27 / 7.04 ms │     no change │
│ QQuery 69 │        54.60 / 55.55 ±0.54 / 56.27 ms │        55.58 / 56.05 ±0.65 / 57.30 ms │     no change │
│ QQuery 70 │     102.88 / 106.57 ±4.18 / 114.32 ms │        78.49 / 78.78 ±0.16 / 78.92 ms │ +1.35x faster │
│ QQuery 71 │        34.76 / 35.00 ±0.38 / 35.74 ms │        34.81 / 35.93 ±1.03 / 37.68 ms │     no change │
│ QQuery 72 │ 1550.71 / 1625.02 ±64.97 / 1739.93 ms │ 1616.18 / 1680.36 ±70.74 / 1773.79 ms │     no change │
│ QQuery 73 │           5.21 / 5.36 ±0.27 / 5.89 ms │           5.11 / 5.32 ±0.24 / 5.77 ms │     no change │
│ QQuery 74 │     183.50 / 186.97 ±3.18 / 191.75 ms │     184.93 / 187.39 ±2.70 / 192.45 ms │     no change │
│ QQuery 75 │     136.68 / 138.37 ±1.34 / 140.63 ms │     137.64 / 139.56 ±2.48 / 144.31 ms │     no change │
│ QQuery 76 │        33.97 / 34.34 ±0.42 / 35.14 ms │        33.99 / 34.16 ±0.16 / 34.37 ms │     no change │
│ QQuery 77 │        58.71 / 59.22 ±0.58 / 60.30 ms │        59.08 / 59.53 ±0.75 / 61.01 ms │     no change │
│ QQuery 78 │    260.90 / 276.37 ±11.35 / 290.74 ms │    260.96 / 270.30 ±13.33 / 296.32 ms │     no change │
│ QQuery 79 │        65.99 / 68.22 ±3.00 / 74.15 ms │        65.86 / 66.24 ±0.33 / 66.71 ms │     no change │
│ QQuery 80 │       92.72 / 96.22 ±2.74 / 100.74 ms │        92.44 / 93.01 ±0.58 / 94.03 ms │     no change │
│ QQuery 81 │        25.47 / 26.40 ±1.34 / 29.05 ms │        25.22 / 25.49 ±0.25 / 25.80 ms │     no change │
│ QQuery 82 │        16.13 / 16.36 ±0.30 / 16.96 ms │        16.19 / 16.64 ±0.26 / 16.97 ms │     no change │
│ QQuery 83 │        32.02 / 33.63 ±2.51 / 38.63 ms │        32.02 / 32.32 ±0.18 / 32.57 ms │     no change │
│ QQuery 84 │        28.87 / 29.65 ±1.02 / 31.64 ms │        28.84 / 29.19 ±0.27 / 29.55 ms │     no change │
│ QQuery 85 │        96.67 / 97.70 ±1.12 / 99.50 ms │        96.47 / 97.47 ±0.90 / 99.05 ms │     no change │
│ QQuery 86 │        25.09 / 25.25 ±0.18 / 25.56 ms │        24.99 / 27.69 ±4.44 / 36.53 ms │  1.10x slower │
│ QQuery 87 │        59.77 / 60.34 ±0.45 / 61.14 ms │        60.80 / 61.39 ±0.53 / 62.21 ms │     no change │
│ QQuery 88 │        59.26 / 59.88 ±0.40 / 60.51 ms │        59.67 / 59.86 ±0.20 / 60.20 ms │     no change │
│ QQuery 89 │        34.67 / 35.15 ±0.52 / 36.15 ms │        34.55 / 34.89 ±0.26 / 35.28 ms │     no change │
│ QQuery 90 │        15.91 / 16.17 ±0.32 / 16.80 ms │        15.97 / 16.14 ±0.23 / 16.57 ms │     no change │
│ QQuery 91 │        40.18 / 40.73 ±0.99 / 42.70 ms │        40.46 / 42.47 ±3.64 / 49.73 ms │     no change │
│ QQuery 92 │        28.87 / 30.97 ±3.02 / 36.85 ms │        28.58 / 29.42 ±0.65 / 30.17 ms │     no change │
│ QQuery 93 │        49.38 / 49.86 ±0.30 / 50.15 ms │        48.74 / 49.61 ±0.55 / 50.36 ms │     no change │
│ QQuery 94 │        37.80 / 38.41 ±0.39 / 38.98 ms │        37.67 / 38.59 ±1.22 / 40.98 ms │     no change │
│ QQuery 95 │        79.01 / 80.12 ±1.08 / 81.50 ms │        78.50 / 80.85 ±2.18 / 84.31 ms │     no change │
│ QQuery 96 │        23.48 / 23.76 ±0.19 / 24.07 ms │        23.47 / 23.65 ±0.19 / 24.01 ms │     no change │
│ QQuery 97 │        50.22 / 52.24 ±3.60 / 59.44 ms │        49.98 / 51.14 ±1.32 / 53.00 ms │     no change │
│ QQuery 98 │        42.52 / 42.97 ±0.57 / 44.06 ms │        42.97 / 43.49 ±0.60 / 44.56 ms │     no change │
│ QQuery 99 │        64.12 / 64.63 ±0.62 / 65.79 ms │        64.79 / 66.74 ±3.33 / 73.37 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 8866.13ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 8937.38ms │
│ Average Time (HEAD)                              │   89.56ms │
│ Average Time (reland-decimal-filter-selectivity) │   90.28ms │
│ Queries Faster                                   │         2 │
│ Queries Slower                                   │         3 │
│ Queries with No Change                           │        94 │
│ Queries with Failure                             │         0 │
└──────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 45.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 186.1s
CPU sys 5.6s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 45.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 185.2s
CPU sys 5.5s
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 reland-decimal-filter-selectivity (5b20d26) to 3b0d0c8 (merge-base) diff

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.35 ms │                           5.24 ms │     no change │
│ QQuery 2  │  44.50 ms │                          44.50 ms │     no change │
│ QQuery 3  │  26.59 ms │                          26.42 ms │     no change │
│ QQuery 4  │ 356.84 ms │                         357.58 ms │     no change │
│ QQuery 5  │  46.46 ms │                          46.34 ms │     no change │
│ QQuery 6  │  35.33 ms │                          35.14 ms │     no change │
│ QQuery 7  │  60.69 ms │                          60.87 ms │     no change │
│ QQuery 8  │  15.18 ms │                          15.29 ms │     no change │
│ QQuery 9  │  56.64 ms │                          57.69 ms │     no change │
│ QQuery 10 │  73.85 ms │                          74.27 ms │     no change │
│ QQuery 11 │ 211.91 ms │                         216.77 ms │     no change │
│ QQuery 12 │  24.16 ms │                          23.96 ms │     no change │
│ QQuery 13 │ 106.28 ms │                         106.00 ms │     no change │
│ QQuery 14 │ 371.63 ms │                         374.06 ms │     no change │
│ QQuery 15 │  24.28 ms │                          24.88 ms │     no change │
│ QQuery 16 │   6.11 ms │                           6.04 ms │     no change │
│ QQuery 17 │  54.78 ms │                          55.00 ms │     no change │
│ QQuery 18 │  96.57 ms │                          95.35 ms │     no change │
│ QQuery 19 │  39.81 ms │                          39.99 ms │     no change │
│ QQuery 20 │  29.32 ms │                          30.89 ms │  1.05x slower │
│ QQuery 21 │  18.64 ms │                          18.93 ms │     no change │
│ QQuery 22 │  64.99 ms │                          66.12 ms │     no change │
│ QQuery 23 │ 319.47 ms │                         317.25 ms │     no change │
│ QQuery 24 │ 162.83 ms │                         159.91 ms │     no change │
│ QQuery 25 │  53.23 ms │                          53.40 ms │     no change │
│ QQuery 26 │  41.86 ms │                          41.91 ms │     no change │
│ QQuery 27 │   5.08 ms │                           5.02 ms │     no change │
│ QQuery 28 │  61.96 ms │                          60.69 ms │     no change │
│ QQuery 29 │  80.01 ms │                          79.20 ms │     no change │
│ QQuery 30 │  31.45 ms │                          31.06 ms │     no change │
│ QQuery 31 │ 121.25 ms │                         129.92 ms │  1.07x slower │
│ QQuery 32 │  20.67 ms │                          20.97 ms │     no change │
│ QQuery 33 │  39.11 ms │                          38.96 ms │     no change │
│ QQuery 34 │   5.79 ms │                           5.84 ms │     no change │
│ QQuery 35 │  81.06 ms │                          80.90 ms │     no change │
│ QQuery 36 │   5.89 ms │                           5.69 ms │     no change │
│ QQuery 37 │   6.60 ms │                           6.50 ms │     no change │
│ QQuery 38 │  77.32 ms │                          76.90 ms │     no change │
│ QQuery 39 │  73.19 ms │                          71.75 ms │     no change │
│ QQuery 40 │  20.29 ms │                          19.72 ms │     no change │
│ QQuery 41 │  14.07 ms │                          13.83 ms │     no change │
│ QQuery 42 │  24.56 ms │                          24.24 ms │     no change │
│ QQuery 43 │   4.75 ms │                           4.52 ms │     no change │
│ QQuery 44 │   5.78 ms │                           5.77 ms │     no change │
│ QQuery 45 │  27.87 ms │                          28.53 ms │     no change │
│ QQuery 46 │  12.67 ms │                          12.46 ms │     no change │
│ QQuery 47 │ 229.20 ms │                         226.06 ms │     no change │
│ QQuery 48 │ 105.71 ms │                         104.24 ms │     no change │
│ QQuery 49 │  82.41 ms │                          82.69 ms │     no change │
│ QQuery 50 │  62.18 ms │                          61.65 ms │     no change │
│ QQuery 51 │ 102.08 ms │                         101.97 ms │     no change │
│ QQuery 52 │  24.66 ms │                          24.41 ms │     no change │
│ QQuery 53 │  30.00 ms │                          29.76 ms │     no change │
│ QQuery 54 │  28.69 ms │                          29.81 ms │     no change │
│ QQuery 55 │  24.50 ms │                          24.30 ms │     no change │
│ QQuery 56 │  34.85 ms │                          34.98 ms │     no change │
│ QQuery 57 │ 138.00 ms │                         137.88 ms │     no change │
│ QQuery 58 │  70.90 ms │                          70.40 ms │     no change │
│ QQuery 59 │  76.21 ms │                          75.93 ms │     no change │
│ QQuery 60 │  38.49 ms │                          37.90 ms │     no change │
│ QQuery 61 │   9.01 ms │                           8.86 ms │     no change │
│ QQuery 62 │  42.06 ms │                          41.70 ms │     no change │
│ QQuery 63 │  30.20 ms │                          30.20 ms │     no change │
│ QQuery 64 │ 319.49 ms │                         314.55 ms │     no change │
│ QQuery 65 │  93.05 ms │                          91.94 ms │     no change │
│ QQuery 66 │  60.46 ms │                          60.11 ms │     no change │
│ QQuery 67 │ 271.04 ms │                         267.32 ms │     no change │
│ QQuery 68 │   6.70 ms │                           6.56 ms │     no change │
│ QQuery 69 │  71.12 ms │                          73.26 ms │     no change │
│ QQuery 70 │ 114.69 ms │                          88.66 ms │ +1.29x faster │
│ QQuery 71 │  32.74 ms │                          32.61 ms │     no change │
│ QQuery 72 │ 113.54 ms │                         114.31 ms │     no change │
│ QQuery 73 │   5.14 ms │                           5.49 ms │  1.07x slower │
│ QQuery 74 │ 172.78 ms │                         172.48 ms │     no change │
│ QQuery 75 │ 148.80 ms │                         148.90 ms │     no change │
│ QQuery 76 │  37.23 ms │                          37.37 ms │     no change │
│ QQuery 77 │  60.60 ms │                          59.82 ms │     no change │
│ QQuery 78 │ 255.63 ms │                         251.11 ms │     no change │
│ QQuery 79 │  67.92 ms │                          68.04 ms │     no change │
│ QQuery 80 │  74.05 ms │                          75.02 ms │     no change │
│ QQuery 81 │  26.42 ms │                          26.53 ms │     no change │
│ QQuery 82 │  24.26 ms │                          24.79 ms │     no change │
│ QQuery 83 │  29.26 ms │                          29.20 ms │     no change │
│ QQuery 84 │  30.67 ms │                          30.75 ms │     no change │
│ QQuery 85 │ 111.52 ms │                         112.55 ms │     no change │
│ QQuery 86 │  30.57 ms │                          30.10 ms │     no change │
│ QQuery 87 │  77.86 ms │                          77.04 ms │     no change │
│ QQuery 88 │  64.63 ms │                          63.31 ms │     no change │
│ QQuery 89 │  41.81 ms │                          41.57 ms │     no change │
│ QQuery 90 │  18.47 ms │                          18.49 ms │     no change │
│ QQuery 91 │  42.80 ms │                          42.49 ms │     no change │
│ QQuery 92 │  29.58 ms │                          30.87 ms │     no change │
│ QQuery 93 │  50.54 ms │                          49.35 ms │     no change │
│ QQuery 94 │  36.00 ms │                          39.04 ms │  1.08x slower │
│ QQuery 95 │  69.76 ms │                          72.64 ms │     no change │
│ QQuery 96 │  26.63 ms │                          26.45 ms │     no change │
│ QQuery 97 │  51.87 ms │                          51.47 ms │     no change │
│ QQuery 98 │  32.97 ms │                          32.79 ms │     no change │
│ QQuery 99 │  58.05 ms │                          57.79 ms │     no change │
└───────────┴───────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 6954.44ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 6923.72ms │
│ Average Time (HEAD)                              │   70.25ms │
│ Average Time (reland-decimal-filter-selectivity) │   69.94ms │
│ Queries Faster                                   │         1 │
│ Queries Slower                                   │         4 │
│ Queries with No Change                           │        94 │
│ Queries with Failure                             │         0 │
└──────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and reland-decimal-filter-selectivity
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ reland-decimal-filter-selectivity ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │       5.35 / 5.83 ±0.85 / 7.52 ms │       5.24 / 5.86 ±1.03 / 7.91 ms │     no change │
│ QQuery 2  │    44.50 / 44.83 ±0.39 / 45.55 ms │    44.50 / 45.06 ±0.47 / 45.84 ms │     no change │
│ QQuery 3  │    26.59 / 26.74 ±0.16 / 27.01 ms │    26.42 / 26.63 ±0.16 / 26.91 ms │     no change │
│ QQuery 4  │ 356.84 / 359.43 ±2.09 / 362.93 ms │ 357.58 / 360.60 ±2.15 / 363.99 ms │     no change │
│ QQuery 5  │    46.46 / 46.80 ±0.33 / 47.23 ms │    46.34 / 46.81 ±0.39 / 47.44 ms │     no change │
│ QQuery 6  │    35.33 / 35.43 ±0.09 / 35.56 ms │    35.14 / 35.42 ±0.25 / 35.86 ms │     no change │
│ QQuery 7  │    60.69 / 61.35 ±0.42 / 61.95 ms │    60.87 / 61.13 ±0.21 / 61.39 ms │     no change │
│ QQuery 8  │    15.18 / 15.37 ±0.17 / 15.64 ms │    15.29 / 15.47 ±0.14 / 15.61 ms │     no change │
│ QQuery 9  │    56.64 / 59.24 ±2.19 / 62.02 ms │    57.69 / 59.65 ±1.55 / 62.07 ms │     no change │
│ QQuery 10 │    73.85 / 74.60 ±0.53 / 75.45 ms │    74.27 / 77.09 ±1.68 / 79.36 ms │     no change │
│ QQuery 11 │ 211.91 / 214.89 ±2.05 / 217.46 ms │ 216.77 / 219.90 ±2.97 / 224.67 ms │     no change │
│ QQuery 12 │    24.16 / 24.68 ±0.50 / 25.57 ms │    23.96 / 24.28 ±0.35 / 24.95 ms │     no change │
│ QQuery 13 │ 106.28 / 107.45 ±1.82 / 111.03 ms │ 106.00 / 109.65 ±3.15 / 114.61 ms │     no change │
│ QQuery 14 │ 371.63 / 375.25 ±1.96 / 377.46 ms │ 374.06 / 376.97 ±3.61 / 383.95 ms │     no change │
│ QQuery 15 │    24.28 / 24.74 ±0.24 / 25.00 ms │    24.88 / 25.29 ±0.43 / 26.08 ms │     no change │
│ QQuery 16 │       6.11 / 6.21 ±0.13 / 6.47 ms │       6.04 / 6.19 ±0.09 / 6.32 ms │     no change │
│ QQuery 17 │    54.78 / 55.14 ±0.30 / 55.52 ms │    55.00 / 55.22 ±0.11 / 55.33 ms │     no change │
│ QQuery 18 │   96.57 / 98.98 ±2.34 / 102.24 ms │   95.35 / 97.70 ±2.66 / 102.39 ms │     no change │
│ QQuery 19 │    39.81 / 40.25 ±0.44 / 41.03 ms │    39.99 / 41.34 ±1.26 / 43.72 ms │     no change │
│ QQuery 20 │    29.32 / 30.43 ±0.93 / 31.66 ms │    30.89 / 31.52 ±0.39 / 31.98 ms │     no change │
│ QQuery 21 │    18.64 / 18.89 ±0.25 / 19.31 ms │    18.93 / 19.05 ±0.12 / 19.23 ms │     no change │
│ QQuery 22 │    64.99 / 66.40 ±0.85 / 67.55 ms │    66.12 / 67.25 ±0.74 / 68.13 ms │     no change │
│ QQuery 23 │ 319.47 / 323.49 ±2.35 / 325.79 ms │ 317.25 / 323.99 ±4.71 / 329.18 ms │     no change │
│ QQuery 24 │ 162.83 / 167.52 ±3.78 / 174.06 ms │ 159.91 / 167.14 ±5.33 / 175.79 ms │     no change │
│ QQuery 25 │    53.23 / 53.78 ±0.45 / 54.40 ms │    53.40 / 53.56 ±0.13 / 53.74 ms │     no change │
│ QQuery 26 │    41.86 / 43.22 ±2.21 / 47.63 ms │    41.91 / 42.13 ±0.19 / 42.37 ms │     no change │
│ QQuery 27 │       5.08 / 5.20 ±0.11 / 5.39 ms │       5.02 / 5.19 ±0.17 / 5.51 ms │     no change │
│ QQuery 28 │    61.96 / 64.16 ±1.84 / 67.20 ms │    60.69 / 62.01 ±1.37 / 64.49 ms │     no change │
│ QQuery 29 │    80.01 / 81.42 ±1.34 / 83.96 ms │    79.20 / 82.38 ±5.37 / 93.12 ms │     no change │
│ QQuery 30 │    31.45 / 33.43 ±3.57 / 40.56 ms │    31.06 / 31.30 ±0.17 / 31.51 ms │ +1.07x faster │
│ QQuery 31 │ 121.25 / 123.76 ±2.54 / 128.46 ms │ 129.92 / 131.84 ±1.74 / 134.05 ms │  1.07x slower │
│ QQuery 32 │    20.67 / 20.81 ±0.13 / 21.05 ms │    20.97 / 21.08 ±0.09 / 21.21 ms │     no change │
│ QQuery 33 │    39.11 / 39.54 ±0.23 / 39.74 ms │    38.96 / 41.43 ±4.09 / 49.58 ms │     no change │
│ QQuery 34 │       5.79 / 5.85 ±0.04 / 5.91 ms │       5.84 / 5.94 ±0.07 / 6.03 ms │     no change │
│ QQuery 35 │    81.06 / 84.13 ±4.07 / 92.05 ms │    80.90 / 82.20 ±1.33 / 84.54 ms │     no change │
│ QQuery 36 │       5.89 / 5.98 ±0.12 / 6.22 ms │       5.69 / 5.91 ±0.19 / 6.25 ms │     no change │
│ QQuery 37 │       6.60 / 6.64 ±0.03 / 6.69 ms │       6.50 / 6.61 ±0.09 / 6.74 ms │     no change │
│ QQuery 38 │    77.32 / 77.77 ±0.25 / 78.04 ms │    76.90 / 78.59 ±2.50 / 83.53 ms │     no change │
│ QQuery 39 │    73.19 / 76.92 ±3.86 / 82.68 ms │    71.75 / 73.51 ±2.15 / 77.75 ms │     no change │
│ QQuery 40 │    20.29 / 20.75 ±0.42 / 21.55 ms │    19.72 / 19.94 ±0.21 / 20.26 ms │     no change │
│ QQuery 41 │    14.07 / 14.14 ±0.06 / 14.24 ms │    13.83 / 13.96 ±0.16 / 14.28 ms │     no change │
│ QQuery 42 │    24.56 / 24.72 ±0.14 / 24.98 ms │    24.24 / 25.44 ±1.83 / 29.04 ms │     no change │
│ QQuery 43 │       4.75 / 4.83 ±0.05 / 4.90 ms │       4.52 / 4.68 ±0.14 / 4.93 ms │     no change │
│ QQuery 44 │       5.78 / 5.85 ±0.08 / 6.00 ms │       5.77 / 5.90 ±0.10 / 6.02 ms │     no change │
│ QQuery 45 │    27.87 / 28.14 ±0.27 / 28.58 ms │    28.53 / 28.75 ±0.19 / 29.00 ms │     no change │
│ QQuery 46 │    12.67 / 12.84 ±0.16 / 13.12 ms │    12.46 / 12.78 ±0.33 / 13.41 ms │     no change │
│ QQuery 47 │ 229.20 / 234.18 ±6.09 / 245.75 ms │ 226.06 / 231.47 ±5.50 / 241.05 ms │     no change │
│ QQuery 48 │ 105.71 / 109.38 ±4.09 / 115.63 ms │ 104.24 / 105.31 ±1.20 / 106.82 ms │     no change │
│ QQuery 49 │    82.41 / 83.34 ±0.49 / 83.74 ms │    82.69 / 83.39 ±0.74 / 84.42 ms │     no change │
│ QQuery 50 │    62.18 / 67.79 ±6.02 / 77.97 ms │    61.65 / 63.94 ±4.07 / 72.07 ms │ +1.06x faster │
│ QQuery 51 │ 102.08 / 104.63 ±1.73 / 106.45 ms │ 101.97 / 105.34 ±2.84 / 109.01 ms │     no change │
│ QQuery 52 │    24.66 / 24.74 ±0.09 / 24.90 ms │    24.41 / 24.68 ±0.24 / 25.11 ms │     no change │
│ QQuery 53 │    30.00 / 31.78 ±3.04 / 37.85 ms │    29.76 / 30.05 ±0.26 / 30.51 ms │ +1.06x faster │
│ QQuery 54 │    28.69 / 32.89 ±3.18 / 38.14 ms │    29.81 / 31.45 ±1.18 / 32.67 ms │     no change │
│ QQuery 55 │    24.50 / 24.99 ±0.63 / 26.20 ms │    24.30 / 24.73 ±0.46 / 25.61 ms │     no change │
│ QQuery 56 │    34.85 / 35.43 ±0.38 / 35.96 ms │    34.98 / 35.19 ±0.25 / 35.68 ms │     no change │
│ QQuery 57 │ 138.00 / 140.73 ±2.15 / 144.22 ms │ 137.88 / 140.19 ±2.83 / 145.75 ms │     no change │
│ QQuery 58 │    70.90 / 71.81 ±1.38 / 74.57 ms │    70.40 / 71.72 ±1.40 / 74.07 ms │     no change │
│ QQuery 59 │    76.21 / 76.37 ±0.13 / 76.54 ms │    75.93 / 76.61 ±0.95 / 78.42 ms │     no change │
│ QQuery 60 │    38.49 / 39.48 ±0.90 / 40.84 ms │    37.90 / 38.84 ±0.58 / 39.70 ms │     no change │
│ QQuery 61 │     9.01 / 10.51 ±2.73 / 15.98 ms │       8.86 / 9.02 ±0.14 / 9.23 ms │ +1.17x faster │
│ QQuery 62 │    42.06 / 43.67 ±1.77 / 46.97 ms │    41.70 / 44.31 ±3.56 / 51.31 ms │     no change │
│ QQuery 63 │    30.20 / 30.58 ±0.37 / 31.23 ms │    30.20 / 30.97 ±0.80 / 32.03 ms │     no change │
│ QQuery 64 │ 319.49 / 324.99 ±4.44 / 330.30 ms │ 314.55 / 320.36 ±5.75 / 331.00 ms │     no change │
│ QQuery 65 │   93.05 / 96.58 ±5.46 / 107.42 ms │   91.94 / 95.36 ±3.76 / 102.30 ms │     no change │
│ QQuery 66 │    60.46 / 61.03 ±0.33 / 61.42 ms │    60.11 / 60.54 ±0.45 / 61.30 ms │     no change │
│ QQuery 67 │ 271.04 / 280.15 ±6.89 / 291.06 ms │ 267.32 / 271.38 ±2.57 / 274.97 ms │     no change │
│ QQuery 68 │       6.70 / 6.81 ±0.09 / 6.96 ms │       6.56 / 6.63 ±0.07 / 6.76 ms │     no change │
│ QQuery 69 │    71.12 / 72.04 ±0.77 / 72.95 ms │    73.26 / 79.61 ±7.47 / 92.52 ms │  1.10x slower │
│ QQuery 70 │ 114.69 / 118.10 ±2.48 / 121.20 ms │    88.66 / 89.59 ±1.35 / 92.27 ms │ +1.32x faster │
│ QQuery 71 │    32.74 / 33.25 ±0.43 / 33.83 ms │    32.61 / 33.46 ±0.78 / 34.74 ms │     no change │
│ QQuery 72 │ 113.54 / 119.74 ±9.75 / 139.03 ms │ 114.31 / 120.26 ±9.40 / 138.93 ms │     no change │
│ QQuery 73 │       5.14 / 5.46 ±0.21 / 5.74 ms │       5.49 / 5.61 ±0.10 / 5.75 ms │     no change │
│ QQuery 74 │ 172.78 / 174.00 ±1.04 / 175.31 ms │ 172.48 / 174.75 ±2.61 / 179.32 ms │     no change │
│ QQuery 75 │ 148.80 / 153.83 ±7.15 / 167.94 ms │ 148.90 / 150.71 ±1.34 / 152.84 ms │     no change │
│ QQuery 76 │    37.23 / 37.84 ±0.40 / 38.31 ms │    37.37 / 42.70 ±8.94 / 60.46 ms │  1.13x slower │
│ QQuery 77 │    60.60 / 61.53 ±0.79 / 62.95 ms │    59.82 / 60.29 ±0.38 / 60.86 ms │     no change │
│ QQuery 78 │ 255.63 / 261.08 ±6.54 / 273.65 ms │ 251.11 / 259.37 ±9.48 / 277.05 ms │     no change │
│ QQuery 79 │    67.92 / 68.34 ±0.26 / 68.71 ms │    68.04 / 71.86 ±6.02 / 83.81 ms │  1.05x slower │
│ QQuery 80 │    74.05 / 79.45 ±4.56 / 84.87 ms │    75.02 / 75.61 ±0.71 / 76.98 ms │     no change │
│ QQuery 81 │    26.42 / 26.80 ±0.27 / 27.23 ms │    26.53 / 27.68 ±1.81 / 31.27 ms │     no change │
│ QQuery 82 │    24.26 / 24.56 ±0.28 / 25.06 ms │    24.79 / 25.37 ±0.42 / 25.93 ms │     no change │
│ QQuery 83 │    29.26 / 29.82 ±0.55 / 30.87 ms │    29.20 / 30.11 ±0.73 / 31.14 ms │     no change │
│ QQuery 84 │    30.67 / 30.94 ±0.21 / 31.29 ms │    30.75 / 34.42 ±6.23 / 46.84 ms │  1.11x slower │
│ QQuery 85 │ 111.52 / 120.60 ±8.02 / 133.74 ms │ 112.55 / 115.96 ±3.10 / 120.03 ms │     no change │
│ QQuery 86 │    30.57 / 30.82 ±0.19 / 31.08 ms │    30.10 / 30.62 ±0.38 / 31.17 ms │     no change │
│ QQuery 87 │    77.86 / 78.72 ±0.65 / 79.59 ms │    77.04 / 79.07 ±3.06 / 85.17 ms │     no change │
│ QQuery 88 │    64.63 / 72.48 ±6.39 / 82.95 ms │    63.31 / 68.56 ±3.73 / 74.74 ms │ +1.06x faster │
│ QQuery 89 │    41.81 / 42.04 ±0.12 / 42.18 ms │    41.57 / 42.85 ±1.91 / 46.56 ms │     no change │
│ QQuery 90 │    18.47 / 18.71 ±0.17 / 18.95 ms │    18.49 / 18.69 ±0.13 / 18.88 ms │     no change │
│ QQuery 91 │    42.80 / 43.95 ±1.55 / 46.94 ms │    42.49 / 47.79 ±7.62 / 62.85 ms │  1.09x slower │
│ QQuery 92 │    29.58 / 30.26 ±0.44 / 30.84 ms │    30.87 / 31.62 ±0.49 / 32.39 ms │     no change │
│ QQuery 93 │    50.54 / 51.77 ±1.78 / 55.28 ms │    49.35 / 49.88 ±0.38 / 50.51 ms │     no change │
│ QQuery 94 │    36.00 / 37.43 ±1.16 / 39.50 ms │    39.04 / 41.74 ±3.67 / 48.88 ms │  1.12x slower │
│ QQuery 95 │    69.76 / 70.39 ±0.59 / 71.36 ms │    72.64 / 76.70 ±3.94 / 83.93 ms │  1.09x slower │
│ QQuery 96 │    26.63 / 26.84 ±0.13 / 27.05 ms │    26.45 / 26.84 ±0.45 / 27.69 ms │     no change │
│ QQuery 97 │    51.87 / 54.78 ±2.19 / 58.36 ms │    51.47 / 53.29 ±1.92 / 56.34 ms │     no change │
│ QQuery 98 │    32.97 / 34.09 ±1.81 / 37.69 ms │    32.79 / 34.23 ±1.23 / 36.11 ms │     no change │
│ QQuery 99 │    58.05 / 58.82 ±0.99 / 60.76 ms │    57.79 / 58.73 ±1.00 / 60.59 ms │     no change │
└───────────┴───────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                │ 7118.14ms │
│ Total Time (reland-decimal-filter-selectivity)   │ 7093.79ms │
│ Average Time (HEAD)                              │   71.90ms │
│ Average Time (reland-decimal-filter-selectivity) │   71.65ms │
│ Queries Faster                                   │         6 │
│ Queries Slower                                   │         8 │
│ Queries with No Change                           │        85 │
│ Queries with Failure                             │         0 │
└──────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 40.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 95.3s
CPU sys 5.5s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 40.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 95.4s
CPU sys 5.5s
Peak spill 0 B

File an issue against this benchmark runner

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

Labels

logical-expr Logical plan and expressions physical-expr Changes to the physical-expr crates 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.

Re-land Decimal filter selectivity estimation (#25790) without the TPC-H Q18 regression

5 participants