Skip to content

Add a builder to SimplifyContext to avoid allocating default values#21092

Open
AdamGS wants to merge 4 commits intoapache:mainfrom
AdamGS:adamd/simplify-ctx-builder
Open

Add a builder to SimplifyContext to avoid allocating default values#21092
AdamGS wants to merge 4 commits intoapache:mainfrom
AdamGS:adamd/simplify-ctx-builder

Conversation

@AdamGS
Copy link
Contributor

@AdamGS AdamGS commented Mar 21, 2026

Which issue does this PR close?

  • Closes #.

Rationale for this change

This is a follow up to #21084, where @blaginin realized that allocating ConfigOptions has this surprising side effect. Reading through how its used I realized that on mode "real" code paths (and in many tests), DataFusion ends up allocating the default values of SimplifyContext just to immediately drop them and override them with pre-existing clone-able data.

What changes are included in this PR?

Adds a new type SimplifyContextBuilder and SimplifyContext::builder

Are these changes tested?

Includes a couple of tests to make sure the builder makes sense, in addition to many existing tests.

Are there any user-facing changes?

As noted above, new type and a new function on an existing type.

Signed-off-by: Adam Gutglick <adamgsal@gmail.com>
@github-actions github-actions bot added logical-expr Logical plan and expressions optimizer Optimizer rules core Core DataFusion crate functions Changes to functions implementation labels Mar 21, 2026
@Dandandan
Copy link
Contributor

Run benchmark sql_planner

@adriangbot
Copy link

🤖 Criterion benchmark running (GKE) | trigger
Linux bench-c4103518734-481-2mc7m 6.12.55+ #1 SMP Sun Feb 1 08:59:41 UTC 2026 aarch64 GNU/Linux
Comparing adamd/simplify-ctx-builder (17c3ed8) to 415bd42 (merge-base) diff
BENCH_NAME=sql_planner
BENCH_COMMAND=cargo bench --features=parquet --bench sql_planner
BENCH_FILTER=
Results will be posted here when complete

@adriangbot
Copy link

Benchmark for this request failed.

Last 20 lines of output:

Click to expand
Cloning into '/workspace/datafusion-branch'...
adamd/simplify-ctx-builder
From https://github.com/apache/datafusion
 * [new ref]         refs/pull/21092/head -> adamd/simplify-ctx-builder
 * branch            main                 -> FETCH_HEAD
Switched to branch 'adamd/simplify-ctx-builder'
415bd42d6b81f40a19e447403d5a85eaf8878b54
Cloning into '/workspace/datafusion-base'...
HEAD is now at 415bd42 chore: Remove duplicate imports in test code (#21061)
rustc 1.94.0 (4a4ef493e 2026-03-02)
17c3ed898963d02d660208d82ca5e43e1fe2606d
415bd42d6b81f40a19e447403d5a85eaf8878b54
    Finished `bench` profile [optimized] target(s) in 0.28s
     Running benches/sql_planner.rs (target/release/deps/sql_planner-a3618e5294f9597c)
Gnuplot not found, using plotters backend

thread 'main' (42403) panicked at datafusion/core/benches/sql_planner.rs:264:9:
benchmarks/data/hits_partitioned/ could not be loaded. Please run 'benchmarks/bench.sh data clickbench_partitioned' prior to running this benchmark
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: bench failed, to rerun pass `-p datafusion --bench sql_planner`

@AdamGS
Copy link
Contributor Author

AdamGS commented Mar 21, 2026

@Dandandan should I rebase this on top of #21084?

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

I think this is an API improvement even if it doesn't measurably improve the performance -- thank you @AdamGS

One thing I thought of that might be less invasive (as in require less code changes) would be to use a single global lazy lock for default config options. Something like

/// Global default configuration options
static DEFAULT_CONFIG: LazyLock<Arc<ConfigOptions>> = LazyLock::new(|| Arc::new(ConfigOptions::new()));

impl ConfigOptions {
    /// Creates a new [`ConfigOptions`] with default values
    pub fn new() -> Self {
        Self::default()
    }

    /// Return a reference to the default configuration options
    pub fn default_arc() -> Arc<Self> {
        Arc::clone(&DEFAULT_CONFIG)
    }

Let me see if I can make a PR that does this

let state = self.state.read();
let context = SimplifyContext::default()
let context = SimplifyContext::builder()
.with_schema(Arc::clone(prepared.plan.schema()))
Copy link
Contributor

Choose a reason for hiding this comment

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

I recommend we also deprecate SimplifyContext::with... methods (can do it as a follow on PR) and direct people to use the builder in their own code.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That makes perfect sense, I'll add it in this one

@alamb
Copy link
Contributor

alamb commented Mar 21, 2026

Let me see if I can make a PR that does this

I made

I have queued up some benchmark runs (sql_planner) for these branches -- let's see what they say (should be done in an hour or two)

@alamb alamb added the performance Make DataFusion faster label Mar 21, 2026
@AdamGS
Copy link
Contributor Author

AdamGS commented Mar 21, 2026

What should the since version be for the deprecation notice, 53.1.0? 54.0.0?

edit: FWIW - I'll happily backport this to 53.1.0 if necessary

@github-actions github-actions bot added the common Related to common crate label Mar 21, 2026
Signed-off-by: Adam Gutglick <adamgsal@gmail.com>
@AdamGS AdamGS force-pushed the adamd/simplify-ctx-builder branch from 0de841f to 8d0c0d5 Compare March 21, 2026 19:04
@github-actions github-actions bot removed the common Related to common crate label Mar 21, 2026
@alamb
Copy link
Contributor

alamb commented Mar 21, 2026

What should the since version be for the deprecation notice, 53.1.0? 54.0.0?

edit: FWIW - I'll happily backport this to 53.1.0 if necessary

54 for now (and we can change it to 53 if we choose to backport)

Signed-off-by: Adam Gutglick <adamgsal@gmail.com>
@alamb-ghbot
Copy link

🤖 ./gh_compare_branch_bench.sh compare_branch_bench.sh Running
Linux aal-dev 6.17.0-1008-gcp #8~24.04.1-Ubuntu SMP Fri Jan 30 23:44:29 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Comparing adamd/simplify-ctx-builder (f93dd1f) to 415bd42 diff
BENCH_NAME=sql_planner
BENCH_COMMAND=cargo bench --features=parquet --bench sql_planner
BENCH_FILTER=
BENCH_BRANCH_NAME=adamd_simplify-ctx-builder
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                 adamd_simplify-ctx-builder             main
-----                                                 --------------------------             ----
logical_aggregate_with_join                           1.03    657.5±3.26µs        ? ?/sec    1.00    636.2±1.97µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.00    288.5±2.07µs        ? ?/sec    1.00    287.2±3.67µs        ? ?/sec
logical_select_all_from_1000                          1.00     10.3±0.04ms        ? ?/sec    1.09     11.2±0.04ms        ? ?/sec
logical_select_one_from_700                           1.05    437.7±3.14µs        ? ?/sec    1.00    417.7±1.63µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.04    387.6±1.27µs        ? ?/sec    1.00    372.3±0.83µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.04    374.5±2.28µs        ? ?/sec    1.00    358.5±2.71µs        ? ?/sec
physical_intersection                                 1.00    871.2±3.65µs        ? ?/sec    1.78   1554.3±4.49µs        ? ?/sec
physical_join_consider_sort                           1.00   1468.0±3.74µs        ? ?/sec    1.50      2.2±0.01ms        ? ?/sec
physical_join_distinct                                1.05   368.2±12.55µs        ? ?/sec    1.00    349.7±1.77µs        ? ?/sec
physical_many_self_joins                              1.00     10.6±0.03ms        ? ?/sec    1.18     12.5±0.04ms        ? ?/sec
physical_plan_clickbench_all                          1.00    150.5±1.27ms        ? ?/sec    1.34    201.3±2.02ms        ? ?/sec
physical_plan_clickbench_q1                           1.00  1686.6±11.55µs        ? ?/sec    1.26      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q10                          1.00      2.6±0.02ms        ? ?/sec    1.42      3.6±0.02ms        ? ?/sec
physical_plan_clickbench_q11                          1.00      2.7±0.02ms        ? ?/sec    1.52      4.1±0.03ms        ? ?/sec
physical_plan_clickbench_q12                          1.00      2.8±0.02ms        ? ?/sec    1.49      4.2±0.03ms        ? ?/sec
physical_plan_clickbench_q13                          1.00      2.5±0.02ms        ? ?/sec    1.49      3.7±0.02ms        ? ?/sec
physical_plan_clickbench_q14                          1.00      2.7±0.07ms        ? ?/sec    1.52      4.1±0.09ms        ? ?/sec
physical_plan_clickbench_q15                          1.00      2.5±0.02ms        ? ?/sec    1.49      3.8±0.04ms        ? ?/sec
physical_plan_clickbench_q16                          1.00      2.2±0.02ms        ? ?/sec    1.46      3.2±0.03ms        ? ?/sec
physical_plan_clickbench_q17                          1.00      2.2±0.01ms        ? ?/sec    1.46      3.3±0.05ms        ? ?/sec
physical_plan_clickbench_q18                          1.00      2.0±0.01ms        ? ?/sec    1.29      2.6±0.02ms        ? ?/sec
physical_plan_clickbench_q19                          1.00      2.6±0.01ms        ? ?/sec    1.39      3.6±0.04ms        ? ?/sec
physical_plan_clickbench_q2                           1.00      2.1±0.01ms        ? ?/sec    1.29      2.7±0.01ms        ? ?/sec
physical_plan_clickbench_q20                          1.00  1729.2±14.25µs        ? ?/sec    1.22      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q21                          1.00      2.1±0.01ms        ? ?/sec    1.33      2.8±0.01ms        ? ?/sec
physical_plan_clickbench_q22                          1.00      2.7±0.02ms        ? ?/sec    1.46      3.9±0.03ms        ? ?/sec
physical_plan_clickbench_q23                          1.00      2.9±0.02ms        ? ?/sec    1.44      4.2±0.06ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      3.9±0.03ms        ? ?/sec    1.22      4.8±0.02ms        ? ?/sec
physical_plan_clickbench_q25                          1.00      2.2±0.03ms        ? ?/sec    1.54      3.4±0.03ms        ? ?/sec
physical_plan_clickbench_q26                          1.00      2.0±0.01ms        ? ?/sec    1.42      2.9±0.02ms        ? ?/sec
physical_plan_clickbench_q27                          1.00      2.2±0.02ms        ? ?/sec    1.55      3.5±0.01ms        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.9±0.03ms        ? ?/sec    1.51      4.4±0.04ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      3.2±0.04ms        ? ?/sec    1.46      4.6±0.07ms        ? ?/sec
physical_plan_clickbench_q3                           1.00      2.0±0.02ms        ? ?/sec    1.23      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q30                          1.00     19.4±0.13ms        ? ?/sec    1.06     20.7±0.41ms        ? ?/sec
physical_plan_clickbench_q31                          1.00      3.0±0.02ms        ? ?/sec    1.46      4.4±0.06ms        ? ?/sec
physical_plan_clickbench_q32                          1.00      3.0±0.02ms        ? ?/sec    1.47      4.4±0.07ms        ? ?/sec
physical_plan_clickbench_q33                          1.00      2.5±0.02ms        ? ?/sec    1.41      3.6±0.05ms        ? ?/sec
physical_plan_clickbench_q34                          1.00      2.2±0.02ms        ? ?/sec    1.46      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q35                          1.00      2.3±0.01ms        ? ?/sec    1.46      3.3±0.02ms        ? ?/sec
physical_plan_clickbench_q36                          1.00      2.7±0.02ms        ? ?/sec    1.44      3.9±0.03ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      3.2±0.02ms        ? ?/sec    1.42      4.6±0.04ms        ? ?/sec
physical_plan_clickbench_q38                          1.00      3.3±0.02ms        ? ?/sec    1.42      4.6±0.05ms        ? ?/sec
physical_plan_clickbench_q39                          1.00      3.1±0.02ms        ? ?/sec    1.30      4.0±0.02ms        ? ?/sec
physical_plan_clickbench_q4                           1.00   1809.3±7.30µs        ? ?/sec    1.21      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.8±0.05ms        ? ?/sec    1.25      4.7±0.05ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      3.2±0.03ms        ? ?/sec    1.30      4.2±0.06ms        ? ?/sec
physical_plan_clickbench_q42                          1.00      3.2±0.02ms        ? ?/sec    1.30      4.1±0.05ms        ? ?/sec
physical_plan_clickbench_q43                          1.00      3.4±0.04ms        ? ?/sec    1.28      4.4±0.03ms        ? ?/sec
physical_plan_clickbench_q44                          1.00   1915.4±8.81µs        ? ?/sec    1.19      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q45                          1.00   1900.0±8.45µs        ? ?/sec    1.20      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q46                          1.00      2.3±0.01ms        ? ?/sec    1.37      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q47                          1.00      3.3±0.02ms        ? ?/sec    1.43      4.7±0.04ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      3.4±0.02ms        ? ?/sec    1.47      5.0±0.06ms        ? ?/sec
physical_plan_clickbench_q49                          1.00      3.6±0.02ms        ? ?/sec    1.44      5.2±0.04ms        ? ?/sec
physical_plan_clickbench_q5                           1.00   1995.3±7.24µs        ? ?/sec    1.24      2.5±0.01ms        ? ?/sec
physical_plan_clickbench_q50                          1.00      3.5±0.02ms        ? ?/sec    1.19      4.1±0.05ms        ? ?/sec
physical_plan_clickbench_q51                          1.00      2.5±0.02ms        ? ?/sec    1.40      3.5±0.03ms        ? ?/sec
physical_plan_clickbench_q6                           1.00   1996.5±7.61µs        ? ?/sec    1.25      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q7                           1.00   1688.7±6.08µs        ? ?/sec    1.22      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q8                           1.00      2.3±0.01ms        ? ?/sec    1.31      3.0±0.04ms        ? ?/sec
physical_plan_clickbench_q9                           1.00      2.4±0.02ms        ? ?/sec    1.49      3.6±0.02ms        ? ?/sec
physical_plan_struct_join_agg_sort                    1.00  1807.1±16.28µs        ? ?/sec    1.70      3.1±0.00ms        ? ?/sec
physical_plan_tpcds_all                               1.00   1017.3±2.72ms        ? ?/sec    1.83   1858.8±7.10ms        ? ?/sec
physical_plan_tpch_all                                1.00     62.4±0.13ms        ? ?/sec    1.98    123.3±1.54ms        ? ?/sec
physical_plan_tpch_q1                                 1.00      2.0±0.00ms        ? ?/sec    1.40      2.8±0.03ms        ? ?/sec
physical_plan_tpch_q10                                1.00      3.8±0.04ms        ? ?/sec    1.86      7.0±0.06ms        ? ?/sec
physical_plan_tpch_q11                                1.00      3.4±0.02ms        ? ?/sec    2.43      8.2±0.07ms        ? ?/sec
physical_plan_tpch_q12                                1.00   1775.0±7.36µs        ? ?/sec    1.66      2.9±0.02ms        ? ?/sec
physical_plan_tpch_q13                                1.00  1385.6±24.67µs        ? ?/sec    2.13      3.0±0.00ms        ? ?/sec
physical_plan_tpch_q14                                1.00  1810.7±23.47µs        ? ?/sec    1.55      2.8±0.02ms        ? ?/sec
physical_plan_tpch_q16                                1.00      2.3±0.02ms        ? ?/sec    2.21      5.0±0.09ms        ? ?/sec
physical_plan_tpch_q17                                1.00      2.7±0.02ms        ? ?/sec    1.98      5.4±0.06ms        ? ?/sec
physical_plan_tpch_q18                                1.00      2.6±0.02ms        ? ?/sec    2.21      5.9±0.11ms        ? ?/sec
physical_plan_tpch_q19                                1.00      3.3±0.01ms        ? ?/sec    1.53      5.1±0.02ms        ? ?/sec
physical_plan_tpch_q2                                 1.00      5.7±0.02ms        ? ?/sec    2.12     12.1±0.09ms        ? ?/sec
physical_plan_tpch_q20                                1.00      3.2±0.01ms        ? ?/sec    2.43      7.9±0.05ms        ? ?/sec
physical_plan_tpch_q21                                1.00      4.0±0.03ms        ? ?/sec    2.48     10.0±0.20ms        ? ?/sec
physical_plan_tpch_q22                                1.00      2.8±0.01ms        ? ?/sec    2.25      6.3±0.12ms        ? ?/sec
physical_plan_tpch_q3                                 1.00      2.6±0.02ms        ? ?/sec    2.11      5.4±0.07ms        ? ?/sec
physical_plan_tpch_q4                                 1.00   1412.9±8.72µs        ? ?/sec    2.05      2.9±0.03ms        ? ?/sec
physical_plan_tpch_q5                                 1.00      3.2±0.02ms        ? ?/sec    1.81      5.9±0.06ms        ? ?/sec
physical_plan_tpch_q6                                 1.00    883.5±6.22µs        ? ?/sec    1.74   1541.0±9.79µs        ? ?/sec
physical_plan_tpch_q7                                 1.00      4.0±0.03ms        ? ?/sec    1.76      7.0±0.06ms        ? ?/sec
physical_plan_tpch_q8                                 1.00      5.3±0.02ms        ? ?/sec    1.71      9.1±0.04ms        ? ?/sec
physical_plan_tpch_q9                                 1.00      3.8±0.01ms        ? ?/sec    1.69      6.5±0.02ms        ? ?/sec
physical_select_aggregates_from_200                   1.00     17.0±0.11ms        ? ?/sec    1.04     17.7±0.13ms        ? ?/sec
physical_select_all_from_1000                         1.00     23.2±0.25ms        ? ?/sec    1.08     24.9±0.13ms        ? ?/sec
physical_select_one_from_700                          1.00   1142.4±5.22µs        ? ?/sec    1.15  1309.0±11.54µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      5.3±0.04ms        ? ?/sec    1.81      9.7±0.11ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00     13.9±0.13ms        ? ?/sec    1.98     27.5±0.33ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00    136.0±0.97ms        ? ?/sec    1.15    155.8±1.09ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.00    789.8±3.51ms        ? ?/sec    1.24    976.1±6.48ms        ? ?/sec
physical_theta_join_consider_sort                     1.00  1835.5±10.16µs        ? ?/sec    1.40      2.6±0.01ms        ? ?/sec
physical_unnest_to_join                               1.00  1864.4±12.15µs        ? ?/sec    1.64      3.0±0.02ms        ? ?/sec
physical_window_function_partition_by_12_on_values    1.00    933.6±5.48µs        ? ?/sec    1.32  1234.8±12.09µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1751.6±6.64µs        ? ?/sec    1.17      2.1±0.01ms        ? ?/sec
physical_window_function_partition_by_4_on_values     1.00    603.7±5.05µs        ? ?/sec    1.50   908.1±14.92µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.00    718.6±3.82µs        ? ?/sec    1.43  1026.4±11.74µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.00    767.8±8.49µs        ? ?/sec    1.40  1073.8±11.15µs        ? ?/sec
with_param_values_many_columns                        1.00    579.1±8.13µs        ? ?/sec    1.02    593.1±3.97µs        ? ?/sec

@Dandandan
Copy link
Contributor

🤖: Benchmark completed

Details

group                                                 adamd_simplify-ctx-builder             main
-----                                                 --------------------------             ----
logical_aggregate_with_join                           1.03    657.5±3.26µs        ? ?/sec    1.00    636.2±1.97µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.00    288.5±2.07µs        ? ?/sec    1.00    287.2±3.67µs        ? ?/sec
logical_select_all_from_1000                          1.00     10.3±0.04ms        ? ?/sec    1.09     11.2±0.04ms        ? ?/sec
logical_select_one_from_700                           1.05    437.7±3.14µs        ? ?/sec    1.00    417.7±1.63µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.04    387.6±1.27µs        ? ?/sec    1.00    372.3±0.83µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.04    374.5±2.28µs        ? ?/sec    1.00    358.5±2.71µs        ? ?/sec
physical_intersection                                 1.00    871.2±3.65µs        ? ?/sec    1.78   1554.3±4.49µs        ? ?/sec
physical_join_consider_sort                           1.00   1468.0±3.74µs        ? ?/sec    1.50      2.2±0.01ms        ? ?/sec
physical_join_distinct                                1.05   368.2±12.55µs        ? ?/sec    1.00    349.7±1.77µs        ? ?/sec
physical_many_self_joins                              1.00     10.6±0.03ms        ? ?/sec    1.18     12.5±0.04ms        ? ?/sec
physical_plan_clickbench_all                          1.00    150.5±1.27ms        ? ?/sec    1.34    201.3±2.02ms        ? ?/sec
physical_plan_clickbench_q1                           1.00  1686.6±11.55µs        ? ?/sec    1.26      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q10                          1.00      2.6±0.02ms        ? ?/sec    1.42      3.6±0.02ms        ? ?/sec
physical_plan_clickbench_q11                          1.00      2.7±0.02ms        ? ?/sec    1.52      4.1±0.03ms        ? ?/sec
physical_plan_clickbench_q12                          1.00      2.8±0.02ms        ? ?/sec    1.49      4.2±0.03ms        ? ?/sec
physical_plan_clickbench_q13                          1.00      2.5±0.02ms        ? ?/sec    1.49      3.7±0.02ms        ? ?/sec
physical_plan_clickbench_q14                          1.00      2.7±0.07ms        ? ?/sec    1.52      4.1±0.09ms        ? ?/sec
physical_plan_clickbench_q15                          1.00      2.5±0.02ms        ? ?/sec    1.49      3.8±0.04ms        ? ?/sec
physical_plan_clickbench_q16                          1.00      2.2±0.02ms        ? ?/sec    1.46      3.2±0.03ms        ? ?/sec
physical_plan_clickbench_q17                          1.00      2.2±0.01ms        ? ?/sec    1.46      3.3±0.05ms        ? ?/sec
physical_plan_clickbench_q18                          1.00      2.0±0.01ms        ? ?/sec    1.29      2.6±0.02ms        ? ?/sec
physical_plan_clickbench_q19                          1.00      2.6±0.01ms        ? ?/sec    1.39      3.6±0.04ms        ? ?/sec
physical_plan_clickbench_q2                           1.00      2.1±0.01ms        ? ?/sec    1.29      2.7±0.01ms        ? ?/sec
physical_plan_clickbench_q20                          1.00  1729.2±14.25µs        ? ?/sec    1.22      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q21                          1.00      2.1±0.01ms        ? ?/sec    1.33      2.8±0.01ms        ? ?/sec
physical_plan_clickbench_q22                          1.00      2.7±0.02ms        ? ?/sec    1.46      3.9±0.03ms        ? ?/sec
physical_plan_clickbench_q23                          1.00      2.9±0.02ms        ? ?/sec    1.44      4.2±0.06ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      3.9±0.03ms        ? ?/sec    1.22      4.8±0.02ms        ? ?/sec
physical_plan_clickbench_q25                          1.00      2.2±0.03ms        ? ?/sec    1.54      3.4±0.03ms        ? ?/sec
physical_plan_clickbench_q26                          1.00      2.0±0.01ms        ? ?/sec    1.42      2.9±0.02ms        ? ?/sec
physical_plan_clickbench_q27                          1.00      2.2±0.02ms        ? ?/sec    1.55      3.5±0.01ms        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.9±0.03ms        ? ?/sec    1.51      4.4±0.04ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      3.2±0.04ms        ? ?/sec    1.46      4.6±0.07ms        ? ?/sec
physical_plan_clickbench_q3                           1.00      2.0±0.02ms        ? ?/sec    1.23      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q30                          1.00     19.4±0.13ms        ? ?/sec    1.06     20.7±0.41ms        ? ?/sec
physical_plan_clickbench_q31                          1.00      3.0±0.02ms        ? ?/sec    1.46      4.4±0.06ms        ? ?/sec
physical_plan_clickbench_q32                          1.00      3.0±0.02ms        ? ?/sec    1.47      4.4±0.07ms        ? ?/sec
physical_plan_clickbench_q33                          1.00      2.5±0.02ms        ? ?/sec    1.41      3.6±0.05ms        ? ?/sec
physical_plan_clickbench_q34                          1.00      2.2±0.02ms        ? ?/sec    1.46      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q35                          1.00      2.3±0.01ms        ? ?/sec    1.46      3.3±0.02ms        ? ?/sec
physical_plan_clickbench_q36                          1.00      2.7±0.02ms        ? ?/sec    1.44      3.9±0.03ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      3.2±0.02ms        ? ?/sec    1.42      4.6±0.04ms        ? ?/sec
physical_plan_clickbench_q38                          1.00      3.3±0.02ms        ? ?/sec    1.42      4.6±0.05ms        ? ?/sec
physical_plan_clickbench_q39                          1.00      3.1±0.02ms        ? ?/sec    1.30      4.0±0.02ms        ? ?/sec
physical_plan_clickbench_q4                           1.00   1809.3±7.30µs        ? ?/sec    1.21      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.8±0.05ms        ? ?/sec    1.25      4.7±0.05ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      3.2±0.03ms        ? ?/sec    1.30      4.2±0.06ms        ? ?/sec
physical_plan_clickbench_q42                          1.00      3.2±0.02ms        ? ?/sec    1.30      4.1±0.05ms        ? ?/sec
physical_plan_clickbench_q43                          1.00      3.4±0.04ms        ? ?/sec    1.28      4.4±0.03ms        ? ?/sec
physical_plan_clickbench_q44                          1.00   1915.4±8.81µs        ? ?/sec    1.19      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q45                          1.00   1900.0±8.45µs        ? ?/sec    1.20      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q46                          1.00      2.3±0.01ms        ? ?/sec    1.37      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q47                          1.00      3.3±0.02ms        ? ?/sec    1.43      4.7±0.04ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      3.4±0.02ms        ? ?/sec    1.47      5.0±0.06ms        ? ?/sec
physical_plan_clickbench_q49                          1.00      3.6±0.02ms        ? ?/sec    1.44      5.2±0.04ms        ? ?/sec
physical_plan_clickbench_q5                           1.00   1995.3±7.24µs        ? ?/sec    1.24      2.5±0.01ms        ? ?/sec
physical_plan_clickbench_q50                          1.00      3.5±0.02ms        ? ?/sec    1.19      4.1±0.05ms        ? ?/sec
physical_plan_clickbench_q51                          1.00      2.5±0.02ms        ? ?/sec    1.40      3.5±0.03ms        ? ?/sec
physical_plan_clickbench_q6                           1.00   1996.5±7.61µs        ? ?/sec    1.25      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q7                           1.00   1688.7±6.08µs        ? ?/sec    1.22      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q8                           1.00      2.3±0.01ms        ? ?/sec    1.31      3.0±0.04ms        ? ?/sec
physical_plan_clickbench_q9                           1.00      2.4±0.02ms        ? ?/sec    1.49      3.6±0.02ms        ? ?/sec
physical_plan_struct_join_agg_sort                    1.00  1807.1±16.28µs        ? ?/sec    1.70      3.1±0.00ms        ? ?/sec
physical_plan_tpcds_all                               1.00   1017.3±2.72ms        ? ?/sec    1.83   1858.8±7.10ms        ? ?/sec
physical_plan_tpch_all                                1.00     62.4±0.13ms        ? ?/sec    1.98    123.3±1.54ms        ? ?/sec
physical_plan_tpch_q1                                 1.00      2.0±0.00ms        ? ?/sec    1.40      2.8±0.03ms        ? ?/sec
physical_plan_tpch_q10                                1.00      3.8±0.04ms        ? ?/sec    1.86      7.0±0.06ms        ? ?/sec
physical_plan_tpch_q11                                1.00      3.4±0.02ms        ? ?/sec    2.43      8.2±0.07ms        ? ?/sec
physical_plan_tpch_q12                                1.00   1775.0±7.36µs        ? ?/sec    1.66      2.9±0.02ms        ? ?/sec
physical_plan_tpch_q13                                1.00  1385.6±24.67µs        ? ?/sec    2.13      3.0±0.00ms        ? ?/sec
physical_plan_tpch_q14                                1.00  1810.7±23.47µs        ? ?/sec    1.55      2.8±0.02ms        ? ?/sec
physical_plan_tpch_q16                                1.00      2.3±0.02ms        ? ?/sec    2.21      5.0±0.09ms        ? ?/sec
physical_plan_tpch_q17                                1.00      2.7±0.02ms        ? ?/sec    1.98      5.4±0.06ms        ? ?/sec
physical_plan_tpch_q18                                1.00      2.6±0.02ms        ? ?/sec    2.21      5.9±0.11ms        ? ?/sec
physical_plan_tpch_q19                                1.00      3.3±0.01ms        ? ?/sec    1.53      5.1±0.02ms        ? ?/sec
physical_plan_tpch_q2                                 1.00      5.7±0.02ms        ? ?/sec    2.12     12.1±0.09ms        ? ?/sec
physical_plan_tpch_q20                                1.00      3.2±0.01ms        ? ?/sec    2.43      7.9±0.05ms        ? ?/sec
physical_plan_tpch_q21                                1.00      4.0±0.03ms        ? ?/sec    2.48     10.0±0.20ms        ? ?/sec
physical_plan_tpch_q22                                1.00      2.8±0.01ms        ? ?/sec    2.25      6.3±0.12ms        ? ?/sec
physical_plan_tpch_q3                                 1.00      2.6±0.02ms        ? ?/sec    2.11      5.4±0.07ms        ? ?/sec
physical_plan_tpch_q4                                 1.00   1412.9±8.72µs        ? ?/sec    2.05      2.9±0.03ms        ? ?/sec
physical_plan_tpch_q5                                 1.00      3.2±0.02ms        ? ?/sec    1.81      5.9±0.06ms        ? ?/sec
physical_plan_tpch_q6                                 1.00    883.5±6.22µs        ? ?/sec    1.74   1541.0±9.79µs        ? ?/sec
physical_plan_tpch_q7                                 1.00      4.0±0.03ms        ? ?/sec    1.76      7.0±0.06ms        ? ?/sec
physical_plan_tpch_q8                                 1.00      5.3±0.02ms        ? ?/sec    1.71      9.1±0.04ms        ? ?/sec
physical_plan_tpch_q9                                 1.00      3.8±0.01ms        ? ?/sec    1.69      6.5±0.02ms        ? ?/sec
physical_select_aggregates_from_200                   1.00     17.0±0.11ms        ? ?/sec    1.04     17.7±0.13ms        ? ?/sec
physical_select_all_from_1000                         1.00     23.2±0.25ms        ? ?/sec    1.08     24.9±0.13ms        ? ?/sec
physical_select_one_from_700                          1.00   1142.4±5.22µs        ? ?/sec    1.15  1309.0±11.54µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      5.3±0.04ms        ? ?/sec    1.81      9.7±0.11ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00     13.9±0.13ms        ? ?/sec    1.98     27.5±0.33ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00    136.0±0.97ms        ? ?/sec    1.15    155.8±1.09ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.00    789.8±3.51ms        ? ?/sec    1.24    976.1±6.48ms        ? ?/sec
physical_theta_join_consider_sort                     1.00  1835.5±10.16µs        ? ?/sec    1.40      2.6±0.01ms        ? ?/sec
physical_unnest_to_join                               1.00  1864.4±12.15µs        ? ?/sec    1.64      3.0±0.02ms        ? ?/sec
physical_window_function_partition_by_12_on_values    1.00    933.6±5.48µs        ? ?/sec    1.32  1234.8±12.09µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1751.6±6.64µs        ? ?/sec    1.17      2.1±0.01ms        ? ?/sec
physical_window_function_partition_by_4_on_values     1.00    603.7±5.05µs        ? ?/sec    1.50   908.1±14.92µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.00    718.6±3.82µs        ? ?/sec    1.43  1026.4±11.74µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.00    767.8±8.49µs        ? ?/sec    1.40  1073.8±11.15µs        ? ?/sec
with_param_values_many_columns                        1.00    579.1±8.13µs        ? ?/sec    1.02    593.1±3.97µs        ? ?/sec

Woah, is this right?

@Dandandan
Copy link
Contributor

run benchmarks

@adriangbot
Copy link

🤖 Benchmark running (GKE) | trigger
Linux bench-c4105670831-484-wrp2j 6.12.55+ #1 SMP Sun Feb 1 08:59:41 UTC 2026 aarch64 GNU/Linux
Comparing adamd/simplify-ctx-builder (f93dd1f) to 415bd42 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete

@adriangbot
Copy link

🤖 Benchmark running (GKE) | trigger
Linux bench-c4105670831-485-g9t4k 6.12.55+ #1 SMP Sun Feb 1 08:59:41 UTC 2026 aarch64 GNU/Linux
Comparing adamd/simplify-ctx-builder (f93dd1f) to 415bd42 (merge-base) diff using: tpcds
Results will be posted here when complete

@adriangbot
Copy link

🤖 Benchmark running (GKE) | trigger
Linux bench-c4105670831-486-472md 6.12.55+ #1 SMP Sun Feb 1 08:59:41 UTC 2026 aarch64 GNU/Linux
Comparing adamd/simplify-ctx-builder (f93dd1f) to 415bd42 (merge-base) diff using: tpch
Results will be posted here when complete

@adriangbot
Copy link

🤖 Benchmark completed (GKE) | trigger

Details

Comparing HEAD and adamd_simplify-ctx-builder
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃     adamd_simplify-ctx-builder ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 45.82 / 46.80 ±0.82 / 47.98 ms │ 45.24 / 45.82 ±0.80 / 47.40 ms │     no change │
│ QQuery 2  │ 25.80 / 26.15 ±0.27 / 26.57 ms │ 21.09 / 21.41 ±0.38 / 22.07 ms │ +1.22x faster │
│ QQuery 3  │ 34.11 / 34.44 ±0.38 / 35.06 ms │ 32.03 / 32.07 ±0.04 / 32.15 ms │ +1.07x faster │
│ QQuery 4  │ 21.38 / 22.48 ±0.93 / 23.86 ms │ 20.66 / 21.21 ±0.55 / 21.97 ms │ +1.06x faster │
│ QQuery 5  │ 49.63 / 51.58 ±1.71 / 53.77 ms │ 49.76 / 51.00 ±1.04 / 52.42 ms │     no change │
│ QQuery 6  │ 17.79 / 18.11 ±0.26 / 18.60 ms │ 17.24 / 17.64 ±0.41 / 18.39 ms │     no change │
│ QQuery 7  │ 57.53 / 59.15 ±1.04 / 60.57 ms │ 54.25 / 55.70 ±1.34 / 57.98 ms │ +1.06x faster │
│ QQuery 8  │ 51.17 / 52.10 ±0.71 / 53.25 ms │ 47.93 / 48.28 ±0.27 / 48.68 ms │ +1.08x faster │
│ QQuery 9  │ 56.81 / 58.10 ±0.83 / 59.11 ms │ 54.70 / 55.35 ±0.53 / 56.19 ms │     no change │
│ QQuery 10 │ 73.13 / 74.79 ±1.32 / 76.94 ms │ 70.05 / 71.17 ±0.64 / 72.01 ms │     no change │
│ QQuery 11 │ 17.33 / 17.91 ±0.53 / 18.63 ms │ 14.03 / 14.70 ±0.62 / 15.44 ms │ +1.22x faster │
│ QQuery 12 │ 28.78 / 29.14 ±0.40 / 29.88 ms │ 28.09 / 28.26 ±0.15 / 28.52 ms │     no change │
│ QQuery 13 │ 39.56 / 41.40 ±2.93 / 47.17 ms │ 38.16 / 39.17 ±0.90 / 40.63 ms │ +1.06x faster │
│ QQuery 14 │ 29.42 / 29.78 ±0.41 / 30.57 ms │ 28.85 / 29.05 ±0.17 / 29.28 ms │     no change │
│ QQuery 15 │ 36.99 / 37.40 ±0.52 / 38.37 ms │ 33.97 / 34.64 ±0.76 / 35.97 ms │ +1.08x faster │
│ QQuery 16 │ 18.06 / 18.37 ±0.26 / 18.80 ms │ 15.98 / 16.33 ±0.41 / 17.11 ms │ +1.12x faster │
│ QQuery 17 │ 74.33 / 75.65 ±0.86 / 76.64 ms │ 73.07 / 74.17 ±0.67 / 75.08 ms │     no change │
│ QQuery 18 │ 78.78 / 79.81 ±0.92 / 81.35 ms │ 77.15 / 78.84 ±1.09 / 80.44 ms │     no change │
│ QQuery 19 │ 39.06 / 39.82 ±0.55 / 40.39 ms │ 37.87 / 38.67 ±0.43 / 39.05 ms │     no change │
│ QQuery 20 │ 44.06 / 44.90 ±0.59 / 45.91 ms │ 40.80 / 41.39 ±0.57 / 42.26 ms │ +1.08x faster │
│ QQuery 21 │ 70.29 / 72.37 ±1.54 / 75.07 ms │ 65.33 / 67.59 ±1.40 / 69.56 ms │ +1.07x faster │
│ QQuery 22 │ 20.50 / 20.94 ±0.40 / 21.70 ms │ 18.01 / 18.31 ±0.28 / 18.78 ms │ +1.14x faster │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 951.20ms │
│ Total Time (adamd_simplify-ctx-builder)   │ 900.77ms │
│ Average Time (HEAD)                       │  43.24ms │
│ Average Time (adamd_simplify-ctx-builder) │  40.94ms │
│ Queries Faster                            │       12 │
│ Queries Slower                            │        0 │
│ Queries with No Change                    │       10 │
│ Queries with Failure                      │        0 │
└───────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 4.1 GiB
Avg memory 3.6 GiB
CPU user 33.3s
CPU sys 3.2s
Disk read 0 B
Disk write 140.0 KiB

tpch — branch

Metric Value
Wall time 4.7s
Peak memory 4.0 GiB
Avg memory 3.5 GiB
CPU user 33.5s
CPU sys 2.9s
Disk read 0 B
Disk write 56.0 KiB

@adriangbot
Copy link

🤖 Benchmark completed (GKE) | trigger

Details

Comparing HEAD and adamd_simplify-ctx-builder
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃                adamd_simplify-ctx-builder ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           48.61 / 49.24 ±0.45 / 49.97 ms │            43.06 / 43.80 ±0.81 / 45.09 ms │ +1.12x faster │
│ QQuery 2  │        151.57 / 152.36 ±0.69 / 153.41 ms │         145.65 / 146.93 ±1.32 / 149.47 ms │     no change │
│ QQuery 3  │        117.04 / 118.60 ±1.10 / 120.14 ms │         114.62 / 114.84 ±0.32 / 115.46 ms │     no change │
│ QQuery 4  │    1358.88 / 1419.23 ±53.04 / 1494.01 ms │     1348.74 / 1376.62 ±21.21 / 1404.89 ms │     no change │
│ QQuery 5  │        184.17 / 186.53 ±2.15 / 189.37 ms │         173.78 / 176.05 ±1.36 / 178.04 ms │ +1.06x faster │
│ QQuery 6  │    1029.51 / 1048.52 ±11.06 / 1060.38 ms │      990.64 / 1006.03 ±16.35 / 1031.45 ms │     no change │
│ QQuery 7  │        355.05 / 359.23 ±2.53 / 362.16 ms │         355.65 / 359.11 ±2.90 / 363.97 ms │     no change │
│ QQuery 8  │        119.90 / 121.51 ±1.46 / 123.44 ms │         116.00 / 118.29 ±1.23 / 119.27 ms │     no change │
│ QQuery 9  │        113.47 / 117.62 ±3.19 / 121.85 ms │         105.37 / 106.63 ±0.96 / 108.01 ms │ +1.10x faster │
│ QQuery 10 │        113.47 / 114.18 ±0.62 / 115.11 ms │         107.01 / 108.55 ±1.53 / 111.13 ms │     no change │
│ QQuery 11 │        905.26 / 910.21 ±3.99 / 915.90 ms │        931.54 / 975.22 ±22.52 / 994.97 ms │  1.07x slower │
│ QQuery 12 │           46.96 / 47.97 ±0.95 / 49.29 ms │            45.19 / 46.62 ±0.89 / 47.98 ms │     no change │
│ QQuery 13 │        405.94 / 408.02 ±1.07 / 408.82 ms │         403.61 / 406.31 ±2.18 / 409.45 ms │     no change │
│ QQuery 14 │     1079.91 / 1089.64 ±6.07 / 1098.25 ms │      1022.78 / 1033.89 ±6.47 / 1042.98 ms │ +1.05x faster │
│ QQuery 15 │           17.38 / 18.90 ±1.10 / 20.82 ms │            16.11 / 16.69 ±0.83 / 18.34 ms │ +1.13x faster │
│ QQuery 16 │           43.81 / 44.70 ±0.58 / 45.34 ms │            39.81 / 41.87 ±1.48 / 44.04 ms │ +1.07x faster │
│ QQuery 17 │        246.98 / 247.95 ±0.89 / 249.23 ms │         241.90 / 244.38 ±2.74 / 249.28 ms │     no change │
│ QQuery 18 │        133.29 / 134.17 ±0.49 / 134.69 ms │         129.66 / 131.30 ±1.22 / 132.74 ms │     no change │
│ QQuery 19 │        159.31 / 161.11 ±1.67 / 164.23 ms │         155.64 / 157.90 ±1.29 / 159.60 ms │     no change │
│ QQuery 20 │           15.91 / 16.42 ±0.37 / 16.85 ms │            13.96 / 14.47 ±0.40 / 15.11 ms │ +1.14x faster │
│ QQuery 21 │           24.37 / 24.99 ±0.82 / 26.62 ms │            19.63 / 20.58 ±0.79 / 21.56 ms │ +1.21x faster │
│ QQuery 22 │        487.70 / 492.46 ±3.35 / 496.47 ms │         489.65 / 493.51 ±3.37 / 497.96 ms │     no change │
│ QQuery 23 │        934.15 / 941.25 ±4.56 / 947.58 ms │        922.69 / 956.85 ±33.14 / 996.67 ms │     no change │
│ QQuery 24 │        426.11 / 430.13 ±2.79 / 434.71 ms │         440.64 / 445.82 ±3.16 / 449.78 ms │     no change │
│ QQuery 25 │        363.05 / 364.60 ±1.11 / 366.35 ms │         375.07 / 378.42 ±2.69 / 382.46 ms │     no change │
│ QQuery 26 │           87.04 / 87.76 ±0.93 / 89.59 ms │            85.01 / 87.14 ±1.43 / 89.13 ms │     no change │
│ QQuery 27 │        353.87 / 355.68 ±1.35 / 357.59 ms │         366.11 / 368.00 ±1.42 / 370.19 ms │     no change │
│ QQuery 28 │        154.36 / 154.88 ±0.32 / 155.29 ms │         154.82 / 156.53 ±1.07 / 158.10 ms │     no change │
│ QQuery 29 │        304.68 / 307.19 ±2.78 / 312.53 ms │         316.01 / 317.85 ±1.65 / 319.73 ms │     no change │
│ QQuery 30 │           48.29 / 51.93 ±2.75 / 56.08 ms │            44.65 / 47.34 ±1.54 / 48.81 ms │ +1.10x faster │
│ QQuery 31 │        178.76 / 181.03 ±1.33 / 182.74 ms │         174.64 / 180.46 ±3.42 / 184.67 ms │     no change │
│ QQuery 32 │           59.83 / 60.99 ±1.07 / 62.76 ms │          58.50 / 69.21 ±18.55 / 106.21 ms │  1.13x slower │
│ QQuery 33 │        149.52 / 151.64 ±1.56 / 153.22 ms │         144.87 / 147.98 ±2.21 / 150.52 ms │     no change │
│ QQuery 34 │        109.75 / 110.56 ±0.67 / 111.73 ms │         112.87 / 116.18 ±2.15 / 118.55 ms │  1.05x slower │
│ QQuery 35 │        115.15 / 116.37 ±0.63 / 116.81 ms │         111.80 / 114.60 ±2.30 / 117.25 ms │     no change │
│ QQuery 36 │        217.80 / 224.56 ±3.73 / 228.07 ms │         228.35 / 231.61 ±3.43 / 238.01 ms │     no change │
│ QQuery 37 │        179.14 / 182.45 ±2.41 / 185.56 ms │         181.62 / 183.59 ±1.43 / 185.79 ms │     no change │
│ QQuery 38 │           94.36 / 96.37 ±1.68 / 98.28 ms │           89.17 / 94.56 ±4.57 / 102.13 ms │     no change │
│ QQuery 39 │        136.74 / 139.70 ±1.55 / 141.32 ms │         139.19 / 140.95 ±1.77 / 144.31 ms │     no change │
│ QQuery 40 │        114.06 / 121.22 ±6.82 / 132.98 ms │         122.16 / 128.87 ±6.23 / 139.28 ms │  1.06x slower │
│ QQuery 41 │           17.96 / 18.81 ±0.83 / 20.36 ms │            15.69 / 16.26 ±0.44 / 16.94 ms │ +1.16x faster │
│ QQuery 42 │        110.56 / 112.30 ±1.26 / 114.23 ms │         108.98 / 110.55 ±1.49 / 112.48 ms │     no change │
│ QQuery 43 │           85.40 / 86.57 ±0.85 / 87.93 ms │            85.43 / 86.44 ±0.58 / 86.92 ms │     no change │
│ QQuery 44 │           17.84 / 18.70 ±0.77 / 20.05 ms │            12.25 / 12.66 ±0.27 / 13.06 ms │ +1.48x faster │
│ QQuery 45 │           55.81 / 58.70 ±1.62 / 60.57 ms │            55.32 / 57.76 ±1.40 / 59.70 ms │     no change │
│ QQuery 46 │        236.33 / 238.23 ±1.63 / 240.57 ms │         252.52 / 257.07 ±5.47 / 267.47 ms │  1.08x slower │
│ QQuery 47 │        711.80 / 715.01 ±5.28 / 725.51 ms │        810.94 / 842.52 ±21.60 / 871.63 ms │  1.18x slower │
│ QQuery 48 │        289.23 / 293.52 ±2.95 / 297.26 ms │         288.26 / 296.86 ±5.14 / 304.30 ms │     no change │
│ QQuery 49 │        266.23 / 269.55 ±3.70 / 276.58 ms │         253.77 / 257.91 ±2.95 / 262.18 ms │     no change │
│ QQuery 50 │        234.10 / 240.12 ±3.39 / 243.62 ms │         238.36 / 244.27 ±4.00 / 248.28 ms │     no change │
│ QQuery 51 │        188.03 / 191.51 ±3.36 / 197.61 ms │         180.15 / 184.63 ±2.55 / 187.66 ms │     no change │
│ QQuery 52 │        109.49 / 110.62 ±1.19 / 112.20 ms │         108.19 / 109.87 ±1.35 / 112.19 ms │     no change │
│ QQuery 53 │        107.14 / 107.60 ±0.61 / 108.79 ms │         104.44 / 106.09 ±1.07 / 107.80 ms │     no change │
│ QQuery 54 │        154.99 / 156.15 ±1.50 / 159.06 ms │         154.05 / 154.70 ±0.59 / 155.72 ms │     no change │
│ QQuery 55 │        109.94 / 110.95 ±1.41 / 113.74 ms │         108.84 / 109.22 ±0.39 / 109.77 ms │     no change │
│ QQuery 56 │        150.92 / 152.29 ±1.48 / 155.10 ms │         143.64 / 145.69 ±1.91 / 149.24 ms │     no change │
│ QQuery 57 │        182.88 / 189.42 ±3.50 / 192.92 ms │         177.10 / 180.37 ±1.88 / 182.79 ms │     no change │
│ QQuery 58 │        297.22 / 306.82 ±8.40 / 320.35 ms │         298.25 / 311.82 ±8.51 / 323.08 ms │     no change │
│ QQuery 59 │        201.54 / 204.58 ±1.54 / 205.87 ms │         202.51 / 206.78 ±3.18 / 211.92 ms │     no change │
│ QQuery 60 │        151.10 / 153.10 ±1.76 / 156.03 ms │         145.63 / 146.46 ±1.12 / 148.63 ms │     no change │
│ QQuery 61 │        177.02 / 179.51 ±1.66 / 181.41 ms │         170.58 / 174.46 ±2.86 / 178.06 ms │     no change │
│ QQuery 62 │      890.83 / 954.79 ±72.78 / 1095.42 ms │        942.20 / 963.49 ±15.60 / 989.03 ms │     no change │
│ QQuery 63 │        106.99 / 108.17 ±1.33 / 110.67 ms │         105.51 / 108.61 ±2.22 / 111.33 ms │     no change │
│ QQuery 64 │        712.41 / 720.51 ±7.56 / 734.77 ms │         742.68 / 748.92 ±5.47 / 757.47 ms │     no change │
│ QQuery 65 │        251.81 / 258.65 ±4.40 / 264.93 ms │         274.74 / 279.81 ±5.16 / 289.12 ms │  1.08x slower │
│ QQuery 66 │       242.22 / 260.54 ±10.69 / 274.07 ms │         254.69 / 266.88 ±8.72 / 280.96 ms │     no change │
│ QQuery 67 │        316.16 / 319.42 ±3.68 / 323.96 ms │         335.24 / 344.75 ±7.33 / 353.42 ms │  1.08x slower │
│ QQuery 68 │        283.05 / 287.87 ±3.33 / 291.82 ms │         301.83 / 305.99 ±2.64 / 310.02 ms │  1.06x slower │
│ QQuery 69 │        107.08 / 108.63 ±1.38 / 110.82 ms │         105.61 / 108.95 ±2.16 / 111.28 ms │     no change │
│ QQuery 70 │       348.58 / 371.81 ±18.50 / 400.16 ms │        351.08 / 361.39 ±11.30 / 382.99 ms │     no change │
│ QQuery 71 │        137.01 / 140.58 ±3.36 / 146.58 ms │         140.87 / 142.24 ±1.55 / 144.89 ms │     no change │
│ QQuery 72 │       709.36 / 721.18 ±10.33 / 735.70 ms │         764.69 / 769.54 ±4.09 / 776.13 ms │  1.07x slower │
│ QQuery 73 │        104.60 / 107.98 ±1.93 / 109.81 ms │         109.17 / 111.91 ±1.58 / 113.24 ms │     no change │
│ QQuery 74 │        567.48 / 574.01 ±3.68 / 577.82 ms │        673.08 / 690.32 ±10.24 / 703.73 ms │  1.20x slower │
│ QQuery 75 │        290.40 / 292.70 ±1.84 / 295.69 ms │         279.25 / 281.46 ±1.74 / 284.50 ms │     no change │
│ QQuery 76 │        137.92 / 138.54 ±0.64 / 139.57 ms │         134.01 / 135.62 ±1.32 / 137.52 ms │     no change │
│ QQuery 77 │        203.20 / 204.26 ±0.60 / 204.91 ms │         187.80 / 190.77 ±2.25 / 193.70 ms │ +1.07x faster │
│ QQuery 78 │        354.82 / 361.34 ±4.50 / 365.60 ms │         359.16 / 364.46 ±4.91 / 370.57 ms │     no change │
│ QQuery 79 │        258.41 / 263.37 ±3.12 / 267.23 ms │         236.93 / 249.07 ±7.92 / 257.69 ms │ +1.06x faster │
│ QQuery 80 │        347.14 / 352.51 ±2.97 / 356.00 ms │         335.69 / 337.96 ±2.62 / 342.79 ms │     no change │
│ QQuery 81 │           31.58 / 33.54 ±1.57 / 35.46 ms │            27.43 / 29.17 ±1.23 / 30.97 ms │ +1.15x faster │
│ QQuery 82 │        206.59 / 207.23 ±0.56 / 207.97 ms │         204.63 / 206.76 ±2.62 / 211.62 ms │     no change │
│ QQuery 83 │           49.81 / 51.36 ±1.16 / 52.81 ms │            41.37 / 42.25 ±0.64 / 43.13 ms │ +1.22x faster │
│ QQuery 84 │           53.16 / 54.05 ±0.88 / 55.54 ms │            49.66 / 51.15 ±1.19 / 53.10 ms │ +1.06x faster │
│ QQuery 85 │        154.74 / 159.15 ±2.97 / 163.90 ms │         151.26 / 154.30 ±3.44 / 160.93 ms │     no change │
│ QQuery 86 │           42.26 / 43.60 ±0.78 / 44.64 ms │            40.22 / 41.07 ±0.80 / 42.48 ms │ +1.06x faster │
│ QQuery 87 │          94.74 / 97.81 ±2.16 / 100.88 ms │           91.13 / 95.46 ±3.98 / 102.84 ms │     no change │
│ QQuery 88 │        115.12 / 116.42 ±1.19 / 118.06 ms │         100.67 / 103.59 ±1.62 / 105.15 ms │ +1.12x faster │
│ QQuery 89 │        120.28 / 123.02 ±1.88 / 125.31 ms │         122.44 / 123.02 ±0.48 / 123.76 ms │     no change │
│ QQuery 90 │           29.46 / 29.78 ±0.28 / 30.17 ms │            23.41 / 24.09 ±0.42 / 24.69 ms │ +1.24x faster │
│ QQuery 91 │           67.52 / 69.76 ±1.45 / 71.33 ms │            64.89 / 66.65 ±1.25 / 68.08 ms │     no change │
│ QQuery 92 │           62.00 / 63.19 ±1.10 / 65.03 ms │            58.73 / 60.05 ±0.94 / 61.44 ms │     no change │
│ QQuery 93 │        198.33 / 201.12 ±2.22 / 203.84 ms │         195.25 / 205.20 ±5.99 / 212.06 ms │     no change │
│ QQuery 94 │           68.01 / 69.00 ±0.70 / 70.01 ms │            63.72 / 65.74 ±1.34 / 67.35 ms │     no change │
│ QQuery 95 │        145.83 / 147.28 ±0.94 / 148.62 ms │         142.74 / 144.43 ±0.94 / 145.37 ms │     no change │
│ QQuery 96 │           76.17 / 78.70 ±1.46 / 80.45 ms │            75.82 / 78.64 ±1.57 / 80.02 ms │     no change │
│ QQuery 97 │        140.90 / 142.57 ±1.55 / 144.92 ms │         142.43 / 145.48 ±2.32 / 148.66 ms │     no change │
│ QQuery 98 │        164.95 / 168.61 ±2.01 / 171.04 ms │         152.56 / 166.99 ±8.77 / 178.35 ms │     no change │
│ QQuery 99 │ 10920.93 / 11054.86 ±90.58 / 11189.26 ms │ 10770.92 / 10928.28 ±232.75 / 11384.67 ms │     no change │
└───────────┴──────────────────────────────────────────┴───────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 34733.82ms │
│ Total Time (adamd_simplify-ctx-builder)   │ 34812.44ms │
│ Average Time (HEAD)                       │   350.85ms │
│ Average Time (adamd_simplify-ctx-builder) │   351.64ms │
│ Queries Faster                            │         19 │
│ Queries Slower                            │         11 │
│ Queries with No Change                    │         69 │
│ Queries with Failure                      │          0 │
└───────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 174.0s
Peak memory 5.3 GiB
Avg memory 4.5 GiB
CPU user 273.0s
CPU sys 22.0s
Disk read 0 B
Disk write 704.7 MiB

tpcds — branch

Metric Value
Wall time 174.4s
Peak memory 5.8 GiB
Avg memory 4.6 GiB
CPU user 281.4s
CPU sys 19.3s
Disk read 0 B
Disk write 776.0 KiB

@adriangbot
Copy link

🤖 Benchmark completed (GKE) | trigger

Details

Comparing HEAD and adamd_simplify-ctx-builder
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃            adamd_simplify-ctx-builder ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.70 / 4.93 ±6.37 / 17.68 ms │          1.31 / 4.53 ±6.36 / 17.25 ms │ +1.09x faster │
│ QQuery 1  │        15.65 / 16.02 ±0.26 / 16.44 ms │        15.04 / 15.43 ±0.26 / 15.69 ms │     no change │
│ QQuery 2  │        56.41 / 56.74 ±0.24 / 57.09 ms │        56.38 / 56.83 ±0.34 / 57.23 ms │     no change │
│ QQuery 3  │        47.73 / 50.28 ±2.12 / 53.29 ms │        49.10 / 52.66 ±2.24 / 54.86 ms │     no change │
│ QQuery 4  │     290.69 / 298.35 ±5.56 / 307.13 ms │     295.60 / 308.53 ±9.63 / 320.86 ms │     no change │
│ QQuery 5  │     349.62 / 356.67 ±5.81 / 363.63 ms │     350.34 / 361.33 ±7.45 / 369.64 ms │     no change │
│ QQuery 6  │           4.83 / 6.21 ±0.94 / 7.43 ms │          5.52 / 8.37 ±4.24 / 16.65 ms │  1.35x slower │
│ QQuery 7  │        18.85 / 18.97 ±0.10 / 19.14 ms │        17.99 / 20.20 ±2.88 / 25.47 ms │  1.06x slower │
│ QQuery 8  │     427.42 / 431.08 ±2.83 / 435.91 ms │    434.47 / 450.88 ±12.61 / 464.47 ms │     no change │
│ QQuery 9  │     649.36 / 655.13 ±3.15 / 658.56 ms │    672.70 / 696.20 ±15.59 / 719.47 ms │  1.06x slower │
│ QQuery 10 │       93.69 / 96.64 ±3.18 / 102.67 ms │       94.21 / 97.55 ±2.98 / 101.30 ms │     no change │
│ QQuery 11 │     107.64 / 109.04 ±1.85 / 112.66 ms │     107.87 / 109.09 ±1.00 / 110.40 ms │     no change │
│ QQuery 12 │     345.79 / 349.15 ±3.10 / 353.14 ms │     350.64 / 367.03 ±9.12 / 378.80 ms │  1.05x slower │
│ QQuery 13 │     477.37 / 485.24 ±7.15 / 497.20 ms │     460.91 / 465.88 ±3.37 / 470.36 ms │     no change │
│ QQuery 14 │     359.29 / 362.28 ±2.90 / 367.11 ms │     358.35 / 359.48 ±1.40 / 362.15 ms │     no change │
│ QQuery 15 │    365.17 / 379.46 ±13.27 / 402.30 ms │    362.98 / 377.46 ±15.98 / 404.85 ms │     no change │
│ QQuery 16 │     728.81 / 732.25 ±3.13 / 737.19 ms │    752.30 / 771.95 ±18.72 / 801.00 ms │  1.05x slower │
│ QQuery 17 │     719.95 / 726.72 ±4.60 / 733.57 ms │    728.77 / 784.41 ±33.13 / 818.20 ms │  1.08x slower │
│ QQuery 18 │ 1459.22 / 1502.30 ±36.41 / 1559.61 ms │ 1481.96 / 1545.73 ±47.94 / 1602.37 ms │     no change │
│ QQuery 19 │        37.22 / 41.70 ±6.32 / 53.99 ms │       36.53 / 47.22 ±16.26 / 79.50 ms │  1.13x slower │
│ QQuery 20 │    721.67 / 738.77 ±14.64 / 757.92 ms │    722.24 / 739.19 ±19.58 / 772.63 ms │     no change │
│ QQuery 21 │     763.16 / 767.38 ±2.57 / 770.06 ms │     766.18 / 773.19 ±4.99 / 781.43 ms │     no change │
│ QQuery 22 │  1129.90 / 1138.45 ±7.86 / 1152.78 ms │ 1134.05 / 1145.42 ±10.89 / 1164.06 ms │     no change │
│ QQuery 23 │ 3070.43 / 3105.73 ±33.16 / 3163.15 ms │ 3105.96 / 3129.69 ±21.37 / 3166.04 ms │     no change │
│ QQuery 24 │     101.33 / 105.13 ±4.12 / 113.08 ms │     101.32 / 103.96 ±2.44 / 108.50 ms │     no change │
│ QQuery 25 │     141.04 / 142.86 ±1.02 / 144.16 ms │     141.17 / 144.17 ±1.68 / 145.63 ms │     no change │
│ QQuery 26 │     101.29 / 104.16 ±1.97 / 107.49 ms │      99.18 / 103.42 ±2.52 / 106.75 ms │     no change │
│ QQuery 27 │     848.01 / 856.76 ±7.09 / 869.52 ms │     849.16 / 856.78 ±5.11 / 864.29 ms │     no change │
│ QQuery 28 │ 7723.92 / 7779.09 ±32.63 / 7821.35 ms │ 7730.89 / 7772.89 ±25.55 / 7806.03 ms │     no change │
│ QQuery 29 │        58.13 / 61.79 ±3.97 / 69.07 ms │        56.10 / 59.34 ±3.73 / 65.93 ms │     no change │
│ QQuery 30 │    372.46 / 384.14 ±10.62 / 400.86 ms │     369.54 / 376.32 ±4.94 / 383.61 ms │     no change │
│ QQuery 31 │     370.69 / 379.39 ±5.92 / 388.26 ms │    368.22 / 392.57 ±14.78 / 412.64 ms │     no change │
│ QQuery 32 │ 1052.51 / 1066.94 ±20.84 / 1107.29 ms │ 1029.86 / 1058.26 ±20.16 / 1091.13 ms │     no change │
│ QQuery 33 │  1456.36 / 1463.87 ±4.71 / 1470.48 ms │  1454.05 / 1462.23 ±5.85 / 1469.75 ms │     no change │
│ QQuery 34 │ 1466.39 / 1487.50 ±18.69 / 1517.59 ms │ 1492.78 / 1546.52 ±32.00 / 1580.83 ms │     no change │
│ QQuery 35 │     384.37 / 391.46 ±5.07 / 398.49 ms │     386.39 / 387.62 ±1.27 / 389.89 ms │     no change │
│ QQuery 36 │     114.27 / 123.03 ±5.13 / 127.01 ms │     111.54 / 120.23 ±7.04 / 130.09 ms │     no change │
│ QQuery 37 │        49.59 / 51.04 ±0.78 / 51.64 ms │        47.22 / 49.94 ±1.75 / 52.53 ms │     no change │
│ QQuery 38 │        76.64 / 78.35 ±1.17 / 79.87 ms │        77.37 / 78.22 ±0.77 / 79.38 ms │     no change │
│ QQuery 39 │     206.96 / 223.34 ±8.80 / 230.94 ms │    206.46 / 224.01 ±10.09 / 233.76 ms │     no change │
│ QQuery 40 │        25.55 / 28.15 ±2.10 / 31.12 ms │        25.65 / 28.08 ±2.18 / 31.31 ms │     no change │
│ QQuery 41 │        20.77 / 22.44 ±1.22 / 24.44 ms │        20.53 / 21.99 ±1.77 / 25.41 ms │     no change │
│ QQuery 42 │        20.59 / 21.13 ±0.44 / 21.88 ms │        19.56 / 19.95 ±0.27 / 20.39 ms │ +1.06x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                         │ 27200.05ms │
│ Total Time (adamd_simplify-ctx-builder)   │ 27494.71ms │
│ Average Time (HEAD)                       │   632.56ms │
│ Average Time (adamd_simplify-ctx-builder) │   639.41ms │
│ Queries Faster                            │          2 │
│ Queries Slower                            │          7 │
│ Queries with No Change                    │         34 │
│ Queries with Failure                      │          0 │
└───────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 137.2s
Peak memory 38.2 GiB
Avg memory 29.7 GiB
CPU user 1289.0s
CPU sys 90.9s
Disk read 0 B
Disk write 4.0 GiB

clickbench_partitioned — branch

Metric Value
Wall time 138.6s
Peak memory 39.7 GiB
Avg memory 31.9 GiB
CPU user 1292.0s
CPU sys 100.4s
Disk read 0 B
Disk write 748.0 KiB

@alamb
Copy link
Contributor

alamb commented Mar 22, 2026

Woah, is this right?

I bet it is less of a win after #21084 is merged. I'll update and rerun

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch_bench.sh compare_branch_bench.sh Running
Linux aal-dev 6.17.0-1008-gcp #8~24.04.1-Ubuntu SMP Fri Jan 30 23:44:29 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Comparing adamd/simplify-ctx-builder (8583e81) to 878b879 diff
BENCH_NAME=sql_planner
BENCH_COMMAND=cargo bench --features=parquet --bench sql_planner
BENCH_FILTER=
BENCH_BRANCH_NAME=adamd_simplify-ctx-builder
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                 adamd_simplify-ctx-builder             main
-----                                                 --------------------------             ----
logical_aggregate_with_join                           1.00    631.1±6.09µs        ? ?/sec    1.05    662.6±3.41µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.01    288.5±3.72µs        ? ?/sec    1.00    286.5±3.11µs        ? ?/sec
logical_select_all_from_1000                          1.00     10.4±0.02ms        ? ?/sec    1.06     11.0±0.06ms        ? ?/sec
logical_select_one_from_700                           1.00    415.7±1.44µs        ? ?/sec    1.06    440.7±4.43µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.00    371.2±2.64µs        ? ?/sec    1.06    394.1±2.69µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.00    358.3±5.21µs        ? ?/sec    1.06    379.5±0.61µs        ? ?/sec
physical_intersection                                 1.00    838.6±5.32µs        ? ?/sec    1.06    887.4±7.11µs        ? ?/sec
physical_join_consider_sort                           1.00   1394.4±4.00µs        ? ?/sec    1.07  1488.0±12.45µs        ? ?/sec
physical_join_distinct                                1.00    349.0±8.44µs        ? ?/sec    1.06    369.7±2.66µs        ? ?/sec
physical_many_self_joins                              1.00      9.9±0.04ms        ? ?/sec    1.09     10.7±0.05ms        ? ?/sec
physical_plan_clickbench_all                          1.00    147.8±0.72ms        ? ?/sec    1.01    148.6±0.89ms        ? ?/sec
physical_plan_clickbench_q1                           1.00  1649.2±15.88µs        ? ?/sec    1.00  1646.4±10.36µs        ? ?/sec
physical_plan_clickbench_q10                          1.00      2.5±0.02ms        ? ?/sec    1.00      2.5±0.01ms        ? ?/sec
physical_plan_clickbench_q11                          1.00      2.7±0.03ms        ? ?/sec    1.00      2.7±0.01ms        ? ?/sec
physical_plan_clickbench_q12                          1.00      2.7±0.01ms        ? ?/sec    1.01      2.8±0.02ms        ? ?/sec
physical_plan_clickbench_q13                          1.00      2.4±0.02ms        ? ?/sec    1.00      2.4±0.02ms        ? ?/sec
physical_plan_clickbench_q14                          1.00      2.6±0.01ms        ? ?/sec    1.01      2.7±0.02ms        ? ?/sec
physical_plan_clickbench_q15                          1.00      2.5±0.01ms        ? ?/sec    1.01      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q16                          1.00      2.1±0.01ms        ? ?/sec    1.01      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q17                          1.00      2.2±0.02ms        ? ?/sec    1.01      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q18                          1.00      2.0±0.01ms        ? ?/sec    1.01      2.0±0.02ms        ? ?/sec
physical_plan_clickbench_q19                          1.01      2.5±0.02ms        ? ?/sec    1.00      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q2                           1.00      2.1±0.02ms        ? ?/sec    1.00      2.1±0.02ms        ? ?/sec
physical_plan_clickbench_q20                          1.01  1706.1±11.58µs        ? ?/sec    1.00   1696.1±5.41µs        ? ?/sec
physical_plan_clickbench_q21                          1.00      2.1±0.01ms        ? ?/sec    1.00      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q22                          1.01      2.7±0.02ms        ? ?/sec    1.00      2.6±0.02ms        ? ?/sec
physical_plan_clickbench_q23                          1.00      2.9±0.02ms        ? ?/sec    1.01      2.9±0.02ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      3.8±0.02ms        ? ?/sec    1.01      3.9±0.03ms        ? ?/sec
physical_plan_clickbench_q25                          1.00      2.2±0.01ms        ? ?/sec    1.01      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q26                          1.00  1966.6±12.35µs        ? ?/sec    1.01  1987.4±14.22µs        ? ?/sec
physical_plan_clickbench_q27                          1.00      2.2±0.02ms        ? ?/sec    1.00      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.9±0.02ms        ? ?/sec    1.01      2.9±0.03ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      3.1±0.03ms        ? ?/sec    1.01      3.1±0.03ms        ? ?/sec
physical_plan_clickbench_q3                           1.00      2.0±0.02ms        ? ?/sec    1.01      2.0±0.03ms        ? ?/sec
physical_plan_clickbench_q30                          1.00     19.4±0.12ms        ? ?/sec    1.00     19.4±0.18ms        ? ?/sec
physical_plan_clickbench_q31                          1.00      3.0±0.03ms        ? ?/sec    1.01      3.0±0.03ms        ? ?/sec
physical_plan_clickbench_q32                          1.02      3.0±0.06ms        ? ?/sec    1.00      3.0±0.03ms        ? ?/sec
physical_plan_clickbench_q33                          1.00      2.5±0.01ms        ? ?/sec    1.00      2.5±0.03ms        ? ?/sec
physical_plan_clickbench_q34                          1.00      2.2±0.02ms        ? ?/sec    1.01      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q35                          1.00      2.3±0.03ms        ? ?/sec    1.00      2.3±0.03ms        ? ?/sec
physical_plan_clickbench_q36                          1.00      2.7±0.02ms        ? ?/sec    1.00      2.7±0.02ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      3.2±0.03ms        ? ?/sec    1.01      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q38                          1.00      3.2±0.03ms        ? ?/sec    1.01      3.2±0.03ms        ? ?/sec
physical_plan_clickbench_q39                          1.00      3.0±0.02ms        ? ?/sec    1.01      3.0±0.02ms        ? ?/sec
physical_plan_clickbench_q4                           1.00  1762.3±15.36µs        ? ?/sec    1.00   1761.2±9.56µs        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.7±0.03ms        ? ?/sec    1.00      3.7±0.03ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      3.2±0.02ms        ? ?/sec    1.01      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q42                          1.00      3.1±0.02ms        ? ?/sec    1.01      3.1±0.02ms        ? ?/sec
physical_plan_clickbench_q43                          1.00      3.4±0.04ms        ? ?/sec    1.00      3.4±0.03ms        ? ?/sec
physical_plan_clickbench_q44                          1.00  1861.8±19.67µs        ? ?/sec    1.00  1865.4±12.79µs        ? ?/sec
physical_plan_clickbench_q45                          1.00  1868.3±12.71µs        ? ?/sec    1.00   1867.9±9.96µs        ? ?/sec
physical_plan_clickbench_q46                          1.00      2.3±0.03ms        ? ?/sec    1.00      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q47                          1.00      3.2±0.04ms        ? ?/sec    1.00      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      3.3±0.03ms        ? ?/sec    1.00      3.3±0.02ms        ? ?/sec
physical_plan_clickbench_q49                          1.00      3.6±0.02ms        ? ?/sec    1.01      3.6±0.04ms        ? ?/sec
physical_plan_clickbench_q5                           1.00  1936.7±12.60µs        ? ?/sec    1.00  1943.8±12.37µs        ? ?/sec
physical_plan_clickbench_q50                          1.00      3.4±0.03ms        ? ?/sec    1.00      3.4±0.02ms        ? ?/sec
physical_plan_clickbench_q51                          1.00      2.4±0.01ms        ? ?/sec    1.01      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q6                           1.00  1949.0±21.26µs        ? ?/sec    1.00   1944.0±3.27µs        ? ?/sec
physical_plan_clickbench_q7                           1.00   1646.2±7.91µs        ? ?/sec    1.01   1657.6±8.10µs        ? ?/sec
physical_plan_clickbench_q8                           1.00      2.2±0.02ms        ? ?/sec    1.01      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q9                           1.00      2.3±0.01ms        ? ?/sec    1.01      2.4±0.01ms        ? ?/sec
physical_plan_struct_join_agg_sort                    1.00   1811.1±7.02µs        ? ?/sec    1.00  1807.6±12.18µs        ? ?/sec
physical_plan_tpcds_all                               1.00   1010.4±2.65ms        ? ?/sec    1.01   1019.6±3.71ms        ? ?/sec
physical_plan_tpch_all                                1.00     62.1±0.37ms        ? ?/sec    1.00     62.4±0.39ms        ? ?/sec
physical_plan_tpch_q1                                 1.00      2.0±0.01ms        ? ?/sec    1.00      2.0±0.01ms        ? ?/sec
physical_plan_tpch_q10                                1.00      3.7±0.02ms        ? ?/sec    1.01      3.8±0.01ms        ? ?/sec
physical_plan_tpch_q11                                1.00      3.4±0.04ms        ? ?/sec    1.01      3.4±0.01ms        ? ?/sec
physical_plan_tpch_q12                                1.00   1792.9±8.88µs        ? ?/sec    1.00  1785.7±10.80µs        ? ?/sec
physical_plan_tpch_q13                                1.00   1378.7±5.97µs        ? ?/sec    1.02  1400.9±31.28µs        ? ?/sec
physical_plan_tpch_q14                                1.00  1797.0±14.56µs        ? ?/sec    1.00  1805.3±11.87µs        ? ?/sec
physical_plan_tpch_q16                                1.00      2.3±0.02ms        ? ?/sec    1.01      2.3±0.01ms        ? ?/sec
physical_plan_tpch_q17                                1.00      2.5±0.00ms        ? ?/sec    1.02      2.6±0.01ms        ? ?/sec
physical_plan_tpch_q18                                1.00      2.6±0.02ms        ? ?/sec    1.01      2.7±0.02ms        ? ?/sec
physical_plan_tpch_q19                                1.00      3.3±0.01ms        ? ?/sec    1.01      3.3±0.03ms        ? ?/sec
physical_plan_tpch_q2                                 1.00      5.5±0.04ms        ? ?/sec    1.01      5.6±0.04ms        ? ?/sec
physical_plan_tpch_q20                                1.00      3.1±0.01ms        ? ?/sec    1.02      3.1±0.04ms        ? ?/sec
physical_plan_tpch_q21                                1.00      4.0±0.02ms        ? ?/sec    1.02      4.1±0.04ms        ? ?/sec
physical_plan_tpch_q22                                1.00      2.8±0.02ms        ? ?/sec    1.01      2.8±0.02ms        ? ?/sec
physical_plan_tpch_q3                                 1.00      2.6±0.02ms        ? ?/sec    1.00      2.6±0.01ms        ? ?/sec
physical_plan_tpch_q4                                 1.00  1416.2±13.41µs        ? ?/sec    1.01  1426.7±15.22µs        ? ?/sec
physical_plan_tpch_q5                                 1.00      3.2±0.03ms        ? ?/sec    1.01      3.3±0.04ms        ? ?/sec
physical_plan_tpch_q6                                 1.00    879.6±5.29µs        ? ?/sec    1.01   886.4±10.00µs        ? ?/sec
physical_plan_tpch_q7                                 1.00      4.0±0.02ms        ? ?/sec    1.01      4.0±0.03ms        ? ?/sec
physical_plan_tpch_q8                                 1.00      5.3±0.04ms        ? ?/sec    1.01      5.3±0.05ms        ? ?/sec
physical_plan_tpch_q9                                 1.00      3.8±0.02ms        ? ?/sec    1.01      3.9±0.03ms        ? ?/sec
physical_select_aggregates_from_200                   1.00     17.0±0.10ms        ? ?/sec    1.01     17.2±0.09ms        ? ?/sec
physical_select_all_from_1000                         1.00     23.1±0.08ms        ? ?/sec    1.05     24.3±0.19ms        ? ?/sec
physical_select_one_from_700                          1.00   1063.5±2.71µs        ? ?/sec    1.09   1161.9±8.01µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      5.3±0.02ms        ? ?/sec    1.01      5.3±0.04ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00     13.9±0.11ms        ? ?/sec    1.00     14.0±0.09ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00    133.7±1.12ms        ? ?/sec    1.01    134.4±1.86ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.00    783.6±4.18ms        ? ?/sec    1.00    784.3±3.93ms        ? ?/sec
physical_theta_join_consider_sort                     1.00   1768.2±7.07µs        ? ?/sec    1.05   1858.3±7.39µs        ? ?/sec
physical_unnest_to_join                               1.00   1809.7±6.43µs        ? ?/sec    1.05  1895.0±45.13µs        ? ?/sec
physical_window_function_partition_by_12_on_values    1.00    937.9±6.89µs        ? ?/sec    1.00    939.8±8.24µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1747.2±6.78µs        ? ?/sec    1.00  1754.5±11.96µs        ? ?/sec
physical_window_function_partition_by_4_on_values     1.00    603.0±5.38µs        ? ?/sec    1.01    608.5±6.77µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.00    720.4±5.53µs        ? ?/sec    1.01    725.9±7.67µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.00    772.3±9.30µs        ? ?/sec    1.00    775.5±8.46µs        ? ?/sec
with_param_values_many_columns                        1.00    576.2±5.08µs        ? ?/sec    1.01    584.4±3.87µs        ? ?/sec

@alamb
Copy link
Contributor

alamb commented Mar 22, 2026

Seems like still a small win

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch_bench.sh compare_branch_bench.sh Running
Linux aal-dev 6.17.0-1008-gcp #8~24.04.1-Ubuntu SMP Fri Jan 30 23:44:29 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Comparing adamd/simplify-ctx-builder (8583e81) to 878b879 diff
BENCH_NAME=sql_planner
BENCH_COMMAND=cargo bench --features=parquet --bench sql_planner
BENCH_FILTER=
BENCH_BRANCH_NAME=adamd_simplify-ctx-builder
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                 adamd_simplify-ctx-builder             main
-----                                                 --------------------------             ----
logical_aggregate_with_join                           1.00    626.6±1.19µs        ? ?/sec    1.06    662.6±4.10µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.01    289.0±1.98µs        ? ?/sec    1.00    287.0±3.39µs        ? ?/sec
logical_select_all_from_1000                          1.00     10.4±0.03ms        ? ?/sec    1.06     11.0±0.06ms        ? ?/sec
logical_select_one_from_700                           1.00    416.0±2.35µs        ? ?/sec    1.06    442.4±2.37µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.00    369.8±1.47µs        ? ?/sec    1.06    392.5±2.19µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.00    357.1±3.06µs        ? ?/sec    1.06    378.4±1.79µs        ? ?/sec
physical_intersection                                 1.00    844.8±4.73µs        ? ?/sec    1.06    891.4±3.69µs        ? ?/sec
physical_join_consider_sort                           1.00   1405.6±8.74µs        ? ?/sec    1.06  1485.0±10.97µs        ? ?/sec
physical_join_distinct                                1.00    349.5±1.62µs        ? ?/sec    1.06    371.9±2.10µs        ? ?/sec
physical_many_self_joins                              1.00      9.9±0.04ms        ? ?/sec    1.08     10.7±0.07ms        ? ?/sec
physical_plan_clickbench_all                          1.00    147.4±1.13ms        ? ?/sec    1.01    148.2±1.26ms        ? ?/sec
physical_plan_clickbench_q1                           1.00  1637.7±12.17µs        ? ?/sec    1.01  1656.7±15.13µs        ? ?/sec
physical_plan_clickbench_q10                          1.00      2.5±0.01ms        ? ?/sec    1.02      2.6±0.04ms        ? ?/sec
physical_plan_clickbench_q11                          1.00      2.6±0.02ms        ? ?/sec    1.00      2.7±0.01ms        ? ?/sec
physical_plan_clickbench_q12                          1.00      2.7±0.02ms        ? ?/sec    1.00      2.8±0.01ms        ? ?/sec
physical_plan_clickbench_q13                          1.00      2.4±0.03ms        ? ?/sec    1.00      2.4±0.02ms        ? ?/sec
physical_plan_clickbench_q14                          1.00      2.7±0.01ms        ? ?/sec    1.00      2.7±0.04ms        ? ?/sec
physical_plan_clickbench_q15                          1.00      2.5±0.01ms        ? ?/sec    1.01      2.5±0.06ms        ? ?/sec
physical_plan_clickbench_q16                          1.00      2.1±0.02ms        ? ?/sec    1.01      2.2±0.03ms        ? ?/sec
physical_plan_clickbench_q17                          1.00      2.2±0.01ms        ? ?/sec    1.01      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q18                          1.00      2.0±0.01ms        ? ?/sec    1.02      2.0±0.01ms        ? ?/sec
physical_plan_clickbench_q19                          1.00      2.5±0.02ms        ? ?/sec    1.01      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q2                           1.00      2.1±0.03ms        ? ?/sec    1.00      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q20                          1.00  1695.7±11.34µs        ? ?/sec    1.02  1726.3±14.21µs        ? ?/sec
physical_plan_clickbench_q21                          1.00      2.1±0.01ms        ? ?/sec    1.02      2.1±0.03ms        ? ?/sec
physical_plan_clickbench_q22                          1.00      2.6±0.03ms        ? ?/sec    1.00      2.6±0.04ms        ? ?/sec
physical_plan_clickbench_q23                          1.00      2.9±0.02ms        ? ?/sec    1.01      2.9±0.01ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      3.8±0.02ms        ? ?/sec    1.01      3.9±0.02ms        ? ?/sec
physical_plan_clickbench_q25                          1.00      2.2±0.02ms        ? ?/sec    1.00      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q26                          1.00  1980.5±20.53µs        ? ?/sec    1.01  1997.8±20.81µs        ? ?/sec
physical_plan_clickbench_q27                          1.00      2.2±0.00ms        ? ?/sec    1.02      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.8±0.03ms        ? ?/sec    1.01      2.9±0.02ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      3.1±0.04ms        ? ?/sec    1.00      3.1±0.03ms        ? ?/sec
physical_plan_clickbench_q3                           1.00      2.0±0.01ms        ? ?/sec    1.00      2.0±0.01ms        ? ?/sec
physical_plan_clickbench_q30                          1.00     19.2±0.11ms        ? ?/sec    1.00     19.3±0.11ms        ? ?/sec
physical_plan_clickbench_q31                          1.00      3.0±0.03ms        ? ?/sec    1.00      3.0±0.01ms        ? ?/sec
physical_plan_clickbench_q32                          1.00      3.0±0.02ms        ? ?/sec    1.01      3.0±0.04ms        ? ?/sec
physical_plan_clickbench_q33                          1.00      2.5±0.02ms        ? ?/sec    1.01      2.5±0.03ms        ? ?/sec
physical_plan_clickbench_q34                          1.00      2.2±0.03ms        ? ?/sec    1.01      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q35                          1.00      2.3±0.02ms        ? ?/sec    1.00      2.3±0.01ms        ? ?/sec
physical_plan_clickbench_q36                          1.00      2.7±0.02ms        ? ?/sec    1.01      2.7±0.02ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      3.2±0.02ms        ? ?/sec    1.01      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q38                          1.00      3.2±0.03ms        ? ?/sec    1.00      3.2±0.02ms        ? ?/sec
physical_plan_clickbench_q39                          1.00      3.0±0.04ms        ? ?/sec    1.00      3.0±0.03ms        ? ?/sec
physical_plan_clickbench_q4                           1.00   1748.3±8.46µs        ? ?/sec    1.01  1768.7±17.22µs        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.7±0.02ms        ? ?/sec    1.00      3.7±0.03ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      3.2±0.04ms        ? ?/sec    1.00      3.2±0.03ms        ? ?/sec
physical_plan_clickbench_q42                          1.00      3.1±0.03ms        ? ?/sec    1.00      3.1±0.03ms        ? ?/sec
physical_plan_clickbench_q43                          1.01      3.4±0.01ms        ? ?/sec    1.00      3.4±0.03ms        ? ?/sec
physical_plan_clickbench_q44                          1.00  1867.0±14.10µs        ? ?/sec    1.00  1873.7±16.24µs        ? ?/sec
physical_plan_clickbench_q45                          1.00  1870.0±15.82µs        ? ?/sec    1.00   1867.6±6.04µs        ? ?/sec
physical_plan_clickbench_q46                          1.00      2.3±0.04ms        ? ?/sec    1.00      2.3±0.01ms        ? ?/sec
physical_plan_clickbench_q47                          1.00      3.2±0.03ms        ? ?/sec    1.00      3.2±0.01ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      3.3±0.01ms        ? ?/sec    1.02      3.4±0.05ms        ? ?/sec
physical_plan_clickbench_q49                          1.00      3.6±0.04ms        ? ?/sec    1.00      3.6±0.02ms        ? ?/sec
physical_plan_clickbench_q5                           1.00  1943.0±14.12µs        ? ?/sec    1.01  1964.0±22.05µs        ? ?/sec
physical_plan_clickbench_q50                          1.00      3.4±0.02ms        ? ?/sec    1.00      3.4±0.01ms        ? ?/sec
physical_plan_clickbench_q51                          1.00      2.4±0.02ms        ? ?/sec    1.01      2.5±0.01ms        ? ?/sec
physical_plan_clickbench_q6                           1.00  1946.1±14.85µs        ? ?/sec    1.00  1955.6±14.22µs        ? ?/sec
physical_plan_clickbench_q7                           1.00  1659.9±12.33µs        ? ?/sec    1.00  1661.9±13.02µs        ? ?/sec
physical_plan_clickbench_q8                           1.00      2.2±0.01ms        ? ?/sec    1.01      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q9                           1.00      2.3±0.02ms        ? ?/sec    1.01      2.4±0.03ms        ? ?/sec
physical_plan_struct_join_agg_sort                    1.00   1797.7±7.89µs        ? ?/sec    1.01  1820.7±27.78µs        ? ?/sec
physical_plan_tpcds_all                               1.00   1005.3±4.90ms        ? ?/sec    1.01   1018.4±7.40ms        ? ?/sec
physical_plan_tpch_all                                1.00     61.5±0.11ms        ? ?/sec    1.01     62.1±0.18ms        ? ?/sec
physical_plan_tpch_q1                                 1.00      2.0±0.02ms        ? ?/sec    1.00      2.0±0.01ms        ? ?/sec
physical_plan_tpch_q10                                1.00      3.7±0.04ms        ? ?/sec    1.01      3.8±0.02ms        ? ?/sec
physical_plan_tpch_q11                                1.00      3.4±0.08ms        ? ?/sec    1.01      3.5±0.07ms        ? ?/sec
physical_plan_tpch_q12                                1.00  1779.3±20.03µs        ? ?/sec    1.01  1798.9±10.41µs        ? ?/sec
physical_plan_tpch_q13                                1.00  1388.6±18.59µs        ? ?/sec    1.00   1392.6±5.81µs        ? ?/sec
physical_plan_tpch_q14                                1.00   1809.6±8.67µs        ? ?/sec    1.00   1814.6±3.20µs        ? ?/sec
physical_plan_tpch_q16                                1.00      2.3±0.01ms        ? ?/sec    1.00      2.3±0.01ms        ? ?/sec
physical_plan_tpch_q17                                1.00      2.5±0.01ms        ? ?/sec    1.01      2.5±0.02ms        ? ?/sec
physical_plan_tpch_q18                                1.00      2.6±0.02ms        ? ?/sec    1.01      2.7±0.01ms        ? ?/sec
physical_plan_tpch_q19                                1.00      3.3±0.04ms        ? ?/sec    1.00      3.3±0.02ms        ? ?/sec
physical_plan_tpch_q2                                 1.00      5.5±0.01ms        ? ?/sec    1.01      5.6±0.07ms        ? ?/sec
physical_plan_tpch_q20                                1.00      3.1±0.03ms        ? ?/sec    1.01      3.1±0.01ms        ? ?/sec
physical_plan_tpch_q21                                1.00      4.0±0.01ms        ? ?/sec    1.02      4.1±0.07ms        ? ?/sec
physical_plan_tpch_q22                                1.00      2.8±0.06ms        ? ?/sec    1.00      2.8±0.00ms        ? ?/sec
physical_plan_tpch_q3                                 1.00      2.6±0.02ms        ? ?/sec    1.01      2.6±0.00ms        ? ?/sec
physical_plan_tpch_q4                                 1.00   1425.7±8.52µs        ? ?/sec    1.01  1437.9±21.63µs        ? ?/sec
physical_plan_tpch_q5                                 1.00      3.2±0.04ms        ? ?/sec    1.01      3.2±0.01ms        ? ?/sec
physical_plan_tpch_q6                                 1.00   882.7±18.20µs        ? ?/sec    1.00    885.0±3.18µs        ? ?/sec
physical_plan_tpch_q7                                 1.00      4.0±0.09ms        ? ?/sec    1.00      4.0±0.03ms        ? ?/sec
physical_plan_tpch_q8                                 1.00      5.3±0.02ms        ? ?/sec    1.01      5.3±0.03ms        ? ?/sec
physical_plan_tpch_q9                                 1.00      3.8±0.01ms        ? ?/sec    1.01      3.9±0.04ms        ? ?/sec
physical_select_aggregates_from_200                   1.00     16.9±0.09ms        ? ?/sec    1.02     17.2±0.07ms        ? ?/sec
physical_select_all_from_1000                         1.00     23.1±0.10ms        ? ?/sec    1.05     24.2±0.06ms        ? ?/sec
physical_select_one_from_700                          1.00   1068.2±9.12µs        ? ?/sec    1.09   1160.6±4.43µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      5.3±0.03ms        ? ?/sec    1.00      5.3±0.02ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00     13.8±0.08ms        ? ?/sec    1.01     13.9±0.06ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00    132.8±1.11ms        ? ?/sec    1.01    133.5±0.89ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.01   785.2±23.64ms        ? ?/sec    1.00    779.7±4.19ms        ? ?/sec
physical_theta_join_consider_sort                     1.00  1777.7±14.28µs        ? ?/sec    1.05  1864.4±10.87µs        ? ?/sec
physical_unnest_to_join                               1.00  1819.6±22.59µs        ? ?/sec    1.05  1903.8±19.58µs        ? ?/sec
physical_window_function_partition_by_12_on_values    1.00    934.2±8.69µs        ? ?/sec    1.00    934.0±4.18µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1748.6±8.83µs        ? ?/sec    1.00   1750.2±4.35µs        ? ?/sec
physical_window_function_partition_by_4_on_values     1.00   602.5±11.46µs        ? ?/sec    1.02   613.3±17.02µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.00    717.9±4.80µs        ? ?/sec    1.01    721.7±3.18µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.00    768.6±5.34µs        ? ?/sec    1.00    771.7±4.41µs        ? ?/sec
with_param_values_many_columns                        1.00    578.6±4.18µs        ? ?/sec    1.01    583.2±4.40µs        ? ?/sec

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

Labels

core Core DataFusion crate functions Changes to functions implementation logical-expr Logical plan and expressions optimizer Optimizer rules performance Make DataFusion faster

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants