Skip to content

Conversation

@rluvaton
Copy link
Member

@rluvaton rluvaton commented Dec 5, 2025

TODO

  • fill pr description

Which issue does this PR close?

  • Closes #.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@github-actions github-actions bot added the physical-plan Changes to the physical-plan crate label Dec 5, 2025
@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

run benchmark aggregate_vectorized

@alamb-ghbot
Copy link

🤖 Hi @rluvaton, thanks for the request (#19103 (comment)).

scrape_comments.py only supports whitelisted benchmarks.

  • Standard: clickbench_1, clickbench_extended, clickbench_partitioned, clickbench_pushdown, tpch, tpch10, tpch_mem, tpch_mem10
  • Criterion: case_when, sql_planner

Please choose one or more of these with run benchmark <name> or run benchmark <name1> <name2>...
Unsupported benchmarks: aggregate_vectorized.

@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

@alamb anyway we can add this as well?

@Dandandan
Copy link
Contributor

run benchmarks

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh Benchmark Script Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing use-mutable (f81932d) to a060739 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@Dandandan
Copy link
Contributor

@alamb anyway we can add this as well?

Could you provide a PR to https://github.com/alamb/datafusion-benchmarking ?

@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and use-mutable
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │  2740.67 ms │  2829.09 ms │     no change │
│ QQuery 1     │  1337.43 ms │  1341.81 ms │     no change │
│ QQuery 2     │  2481.82 ms │  2582.94 ms │     no change │
│ QQuery 3     │  1174.63 ms │  1239.52 ms │  1.06x slower │
│ QQuery 4     │  2367.51 ms │  2311.49 ms │     no change │
│ QQuery 5     │ 28355.23 ms │ 28291.89 ms │     no change │
│ QQuery 6     │  4022.69 ms │  4084.90 ms │     no change │
│ QQuery 7     │  3700.94 ms │  3514.00 ms │ +1.05x faster │
└──────────────┴─────────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 46180.92ms │
│ Total Time (use-mutable)   │ 46195.63ms │
│ Average Time (HEAD)        │  5772.62ms │
│ Average Time (use-mutable) │  5774.45ms │
│ Queries Faster             │          1 │
│ Queries Slower             │          1 │
│ Queries with No Change     │          6 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │     2.12 ms │     2.39 ms │  1.13x slower │
│ QQuery 1     │    49.96 ms │    51.09 ms │     no change │
│ QQuery 2     │   135.43 ms │   135.62 ms │     no change │
│ QQuery 3     │   148.38 ms │   154.66 ms │     no change │
│ QQuery 4     │  1011.17 ms │  1099.34 ms │  1.09x slower │
│ QQuery 5     │  1423.60 ms │  1513.15 ms │  1.06x slower │
│ QQuery 6     │     2.13 ms │     2.18 ms │     no change │
│ QQuery 7     │    52.43 ms │    57.01 ms │  1.09x slower │
│ QQuery 8     │  1313.53 ms │  1450.81 ms │  1.10x slower │
│ QQuery 9     │  1708.46 ms │  1832.85 ms │  1.07x slower │
│ QQuery 10    │   361.84 ms │   396.51 ms │  1.10x slower │
│ QQuery 11    │   420.69 ms │   444.49 ms │  1.06x slower │
│ QQuery 12    │  1260.40 ms │  1368.02 ms │  1.09x slower │
│ QQuery 13    │  1984.99 ms │  2150.15 ms │  1.08x slower │
│ QQuery 14    │  1205.40 ms │  1288.86 ms │  1.07x slower │
│ QQuery 15    │  1170.69 ms │  1239.12 ms │  1.06x slower │
│ QQuery 16    │  2546.05 ms │  2782.99 ms │  1.09x slower │
│ QQuery 17    │  2566.72 ms │  2714.45 ms │  1.06x slower │
│ QQuery 18    │  5412.78 ms │  5103.11 ms │ +1.06x faster │
│ QQuery 19    │   119.51 ms │   122.18 ms │     no change │
│ QQuery 20    │  1859.91 ms │  1874.68 ms │     no change │
│ QQuery 21    │  2176.09 ms │  2183.06 ms │     no change │
│ QQuery 22    │  4053.93 ms │  3757.96 ms │ +1.08x faster │
│ QQuery 23    │ 12354.72 ms │ 12811.09 ms │     no change │
│ QQuery 24    │   201.29 ms │   207.96 ms │     no change │
│ QQuery 25    │   450.22 ms │   476.80 ms │  1.06x slower │
│ QQuery 26    │   218.32 ms │   217.47 ms │     no change │
│ QQuery 27    │  2765.97 ms │  2733.57 ms │     no change │
│ QQuery 28    │ 23855.00 ms │ 23614.04 ms │     no change │
│ QQuery 29    │   934.46 ms │   931.71 ms │     no change │
│ QQuery 30    │  1283.74 ms │  1328.82 ms │     no change │
│ QQuery 31    │  1313.85 ms │  1341.62 ms │     no change │
│ QQuery 32    │  4691.45 ms │  5236.80 ms │  1.12x slower │
│ QQuery 33    │  5800.91 ms │  6164.41 ms │  1.06x slower │
│ QQuery 34    │  5959.45 ms │  6057.92 ms │     no change │
│ QQuery 35    │  1830.04 ms │  1968.35 ms │  1.08x slower │
│ QQuery 36    │   114.98 ms │   115.81 ms │     no change │
│ QQuery 37    │    50.70 ms │    51.16 ms │     no change │
│ QQuery 38    │   113.89 ms │   116.27 ms │     no change │
│ QQuery 39    │   184.72 ms │   187.88 ms │     no change │
│ QQuery 40    │    41.91 ms │    41.11 ms │     no change │
│ QQuery 41    │    37.31 ms │    38.20 ms │     no change │
│ QQuery 42    │    32.16 ms │    30.94 ms │     no change │
└──────────────┴─────────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 93221.29ms │
│ Total Time (use-mutable)   │ 95396.62ms │
│ Average Time (HEAD)        │  2167.94ms │
│ Average Time (use-mutable) │  2218.53ms │
│ Queries Faster             │          2 │
│ Queries Slower             │         18 │
│ Queries with No Change     │         23 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ use-mutable ┃       Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1     │ 128.32 ms │   140.56 ms │ 1.10x slower │
│ QQuery 2     │  28.86 ms │    29.08 ms │    no change │
│ QQuery 3     │  37.75 ms │    37.85 ms │    no change │
│ QQuery 4     │  28.89 ms │    29.93 ms │    no change │
│ QQuery 5     │  86.76 ms │    86.30 ms │    no change │
│ QQuery 6     │  19.75 ms │    19.63 ms │    no change │
│ QQuery 7     │ 221.49 ms │   216.83 ms │    no change │
│ QQuery 8     │  32.08 ms │    33.22 ms │    no change │
│ QQuery 9     │ 105.99 ms │   102.94 ms │    no change │
│ QQuery 10    │  64.56 ms │    63.94 ms │    no change │
│ QQuery 11    │  17.62 ms │    17.53 ms │    no change │
│ QQuery 12    │  50.72 ms │    50.18 ms │    no change │
│ QQuery 13    │  44.81 ms │    46.28 ms │    no change │
│ QQuery 14    │  14.08 ms │    13.78 ms │    no change │
│ QQuery 15    │  24.45 ms │    24.17 ms │    no change │
│ QQuery 16    │  24.78 ms │    25.46 ms │    no change │
│ QQuery 17    │ 149.09 ms │   144.26 ms │    no change │
│ QQuery 18    │ 279.41 ms │   277.81 ms │    no change │
│ QQuery 19    │  37.58 ms │    35.76 ms │    no change │
│ QQuery 20    │  48.43 ms │    48.56 ms │    no change │
│ QQuery 21    │ 315.03 ms │   306.61 ms │    no change │
│ QQuery 22    │  17.20 ms │    17.67 ms │    no change │
└──────────────┴───────────┴─────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary          ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 1777.62ms │
│ Total Time (use-mutable)   │ 1768.35ms │
│ Average Time (HEAD)        │   80.80ms │
│ Average Time (use-mutable) │   80.38ms │
│ Queries Faster             │         0 │
│ Queries Slower             │         1 │
│ Queries with No Change     │        21 │
│ Queries with Failure       │         0 │
└────────────────────────────┴───────────┘

@Dandandan
Copy link
Contributor

run benchmarks

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh Benchmark Script Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing use-mutable (15a88a6) to a060739 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and use-mutable
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃    Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 0     │  2699.55 ms │  2694.88 ms │ no change │
│ QQuery 1     │  1299.47 ms │  1302.54 ms │ no change │
│ QQuery 2     │  2485.56 ms │  2437.47 ms │ no change │
│ QQuery 3     │  1192.47 ms │  1223.51 ms │ no change │
│ QQuery 4     │  2259.50 ms │  2283.27 ms │ no change │
│ QQuery 5     │ 27987.48 ms │ 28438.84 ms │ no change │
│ QQuery 6     │  3999.66 ms │  3965.38 ms │ no change │
│ QQuery 7     │  3507.84 ms │  3558.48 ms │ no change │
└──────────────┴─────────────┴─────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 45431.54ms │
│ Total Time (use-mutable)   │ 45904.35ms │
│ Average Time (HEAD)        │  5678.94ms │
│ Average Time (use-mutable) │  5738.04ms │
│ Queries Faster             │          0 │
│ Queries Slower             │          0 │
│ Queries with No Change     │          8 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │     2.13 ms │     2.58 ms │  1.21x slower │
│ QQuery 1     │    50.47 ms │    51.18 ms │     no change │
│ QQuery 2     │   135.88 ms │   134.32 ms │     no change │
│ QQuery 3     │   154.76 ms │   154.18 ms │     no change │
│ QQuery 4     │  1067.27 ms │  1083.85 ms │     no change │
│ QQuery 5     │  1449.77 ms │  1515.45 ms │     no change │
│ QQuery 6     │     2.10 ms │     2.23 ms │  1.07x slower │
│ QQuery 7     │    56.15 ms │    55.46 ms │     no change │
│ QQuery 8     │  1375.12 ms │  1463.18 ms │  1.06x slower │
│ QQuery 9     │  1794.11 ms │  1786.83 ms │     no change │
│ QQuery 10    │   371.81 ms │   369.58 ms │     no change │
│ QQuery 11    │   427.95 ms │   421.67 ms │     no change │
│ QQuery 12    │  1280.16 ms │  1339.26 ms │     no change │
│ QQuery 13    │  2058.18 ms │  2105.71 ms │     no change │
│ QQuery 14    │  1209.18 ms │  1256.99 ms │     no change │
│ QQuery 15    │  1194.37 ms │  1213.80 ms │     no change │
│ QQuery 16    │  2592.23 ms │  2671.68 ms │     no change │
│ QQuery 17    │  2583.03 ms │  2626.06 ms │     no change │
│ QQuery 18    │  5401.16 ms │  4927.98 ms │ +1.10x faster │
│ QQuery 19    │   122.04 ms │   116.27 ms │     no change │
│ QQuery 20    │  1892.66 ms │  1893.47 ms │     no change │
│ QQuery 21    │  2191.34 ms │  2160.39 ms │     no change │
│ QQuery 22    │  3732.31 ms │  3717.02 ms │     no change │
│ QQuery 23    │ 13638.93 ms │ 12272.43 ms │ +1.11x faster │
│ QQuery 24    │   209.59 ms │   217.53 ms │     no change │
│ QQuery 25    │   457.43 ms │   465.68 ms │     no change │
│ QQuery 26    │   214.60 ms │   208.50 ms │     no change │
│ QQuery 27    │  2856.57 ms │  2706.68 ms │ +1.06x faster │
│ QQuery 28    │ 23907.44 ms │ 23425.58 ms │     no change │
│ QQuery 29    │   965.80 ms │   958.36 ms │     no change │
│ QQuery 30    │  1313.50 ms │  1281.37 ms │     no change │
│ QQuery 31    │  1362.71 ms │  1316.61 ms │     no change │
│ QQuery 32    │  5475.46 ms │  4799.92 ms │ +1.14x faster │
│ QQuery 33    │  6026.67 ms │  5652.66 ms │ +1.07x faster │
│ QQuery 34    │  6077.94 ms │  5924.13 ms │     no change │
│ QQuery 35    │  1887.98 ms │  1910.37 ms │     no change │
│ QQuery 36    │   116.05 ms │   115.12 ms │     no change │
│ QQuery 37    │    52.41 ms │    50.97 ms │     no change │
│ QQuery 38    │   114.59 ms │   116.15 ms │     no change │
│ QQuery 39    │   187.51 ms │   189.45 ms │     no change │
│ QQuery 40    │    42.72 ms │    40.09 ms │ +1.07x faster │
│ QQuery 41    │    37.18 ms │    39.38 ms │  1.06x slower │
│ QQuery 42    │    31.61 ms │    31.66 ms │     no change │
└──────────────┴─────────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 96120.90ms │
│ Total Time (use-mutable)   │ 92791.80ms │
│ Average Time (HEAD)        │  2235.37ms │
│ Average Time (use-mutable) │  2157.95ms │
│ Queries Faster             │          6 │
│ Queries Slower             │          4 │
│ Queries with No Change     │         33 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 130.97 ms │   131.92 ms │     no change │
│ QQuery 2     │  28.45 ms │    26.83 ms │ +1.06x faster │
│ QQuery 3     │  37.74 ms │    32.75 ms │ +1.15x faster │
│ QQuery 4     │  29.20 ms │    28.77 ms │     no change │
│ QQuery 5     │  86.56 ms │    86.77 ms │     no change │
│ QQuery 6     │  19.71 ms │    19.56 ms │     no change │
│ QQuery 7     │ 221.51 ms │   219.92 ms │     no change │
│ QQuery 8     │  30.78 ms │    33.41 ms │  1.09x slower │
│ QQuery 9     │ 106.90 ms │    99.87 ms │ +1.07x faster │
│ QQuery 10    │  63.54 ms │    63.52 ms │     no change │
│ QQuery 11    │  18.54 ms │    17.93 ms │     no change │
│ QQuery 12    │  52.29 ms │    51.29 ms │     no change │
│ QQuery 13    │  47.01 ms │    45.64 ms │     no change │
│ QQuery 14    │  13.92 ms │    13.71 ms │     no change │
│ QQuery 15    │  25.05 ms │    24.84 ms │     no change │
│ QQuery 16    │  25.22 ms │    24.99 ms │     no change │
│ QQuery 17    │ 151.48 ms │   148.78 ms │     no change │
│ QQuery 18    │ 273.60 ms │   275.18 ms │     no change │
│ QQuery 19    │  36.59 ms │    36.43 ms │     no change │
│ QQuery 20    │  48.75 ms │    48.69 ms │     no change │
│ QQuery 21    │ 313.14 ms │   318.50 ms │     no change │
│ QQuery 22    │  17.46 ms │    20.48 ms │  1.17x slower │
└──────────────┴───────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary          ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 1778.43ms │
│ Total Time (use-mutable)   │ 1769.76ms │
│ Average Time (HEAD)        │   80.84ms │
│ Average Time (use-mutable) │   80.44ms │
│ Queries Faster             │         3 │
│ Queries Slower             │         2 │
│ Queries with No Change     │        17 │
│ Queries with Failure       │         0 │
└────────────────────────────┴───────────┘

@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

run benchmarks

@alamb-ghbot
Copy link

🤖 ./gh_compare_branch.sh Benchmark Script Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing use-mutable (3cfeeb0) to a5fc3c7 diff using: tpch_mem clickbench_partitioned clickbench_extended
Results will be posted here when complete

@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

run benchmarks aggregate_query_sql

@alamb-ghbot
Copy link

🤖 Hi @rluvaton, thanks for the request (#19103 (comment)).

scrape_comments.py only supports whitelisted benchmarks.

  • Standard: clickbench_1, clickbench_extended, clickbench_partitioned, clickbench_pushdown, tpch, tpch10, tpch_mem, tpch_mem10
  • Criterion: case_when, sql_planner

Please choose one or more of these with run benchmark <name> or run benchmark <name1> <name2>...
Unsupported benchmarks: aggregate_query_sql.

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

Comparing HEAD and use-mutable
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃    Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 0     │  2614.85 ms │  2653.35 ms │ no change │
│ QQuery 1     │  1327.97 ms │  1304.88 ms │ no change │
│ QQuery 2     │  2556.30 ms │  2484.04 ms │ no change │
│ QQuery 3     │  1163.48 ms │  1202.69 ms │ no change │
│ QQuery 4     │  2289.05 ms │  2288.71 ms │ no change │
│ QQuery 5     │ 28516.50 ms │ 28468.68 ms │ no change │
│ QQuery 6     │  4014.50 ms │  4018.62 ms │ no change │
│ QQuery 7     │  3682.06 ms │  3647.77 ms │ no change │
└──────────────┴─────────────┴─────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 46164.72ms │
│ Total Time (use-mutable)   │ 46068.74ms │
│ Average Time (HEAD)        │  5770.59ms │
│ Average Time (use-mutable) │  5758.59ms │
│ Queries Faster             │          0 │
│ Queries Slower             │          0 │
│ Queries with No Change     │          8 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃        HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0     │     2.16 ms │     2.67 ms │  1.24x slower │
│ QQuery 1     │    49.13 ms │    55.01 ms │  1.12x slower │
│ QQuery 2     │   132.17 ms │   142.19 ms │  1.08x slower │
│ QQuery 3     │   154.11 ms │   174.68 ms │  1.13x slower │
│ QQuery 4     │  1091.18 ms │  1067.44 ms │     no change │
│ QQuery 5     │  1497.39 ms │  1473.13 ms │     no change │
│ QQuery 6     │     2.16 ms │     2.18 ms │     no change │
│ QQuery 7     │    53.92 ms │    54.09 ms │     no change │
│ QQuery 8     │  1426.74 ms │  1473.78 ms │     no change │
│ QQuery 9     │  1849.95 ms │  1864.26 ms │     no change │
│ QQuery 10    │   375.54 ms │   367.76 ms │     no change │
│ QQuery 11    │   404.07 ms │   427.05 ms │  1.06x slower │
│ QQuery 12    │  1329.74 ms │  1362.71 ms │     no change │
│ QQuery 13    │  1996.00 ms │  2042.19 ms │     no change │
│ QQuery 14    │  1238.18 ms │  1275.92 ms │     no change │
│ QQuery 15    │  1258.55 ms │  1254.11 ms │     no change │
│ QQuery 16    │  2666.97 ms │  2767.41 ms │     no change │
│ QQuery 17    │  2666.44 ms │  2735.30 ms │     no change │
│ QQuery 18    │  5363.18 ms │  5087.39 ms │ +1.05x faster │
│ QQuery 19    │   120.20 ms │   122.92 ms │     no change │
│ QQuery 20    │  1910.89 ms │  1843.20 ms │     no change │
│ QQuery 21    │  2227.97 ms │  2134.52 ms │     no change │
│ QQuery 22    │  3834.50 ms │  3644.43 ms │     no change │
│ QQuery 23    │ 12548.08 ms │ 12254.67 ms │     no change │
│ QQuery 24    │   211.70 ms │   206.54 ms │     no change │
│ QQuery 25    │   455.91 ms │   446.04 ms │     no change │
│ QQuery 26    │   202.83 ms │   213.66 ms │  1.05x slower │
│ QQuery 27    │  2805.41 ms │  2706.35 ms │     no change │
│ QQuery 28    │ 23489.83 ms │ 23591.35 ms │     no change │
│ QQuery 29    │   982.87 ms │   970.74 ms │     no change │
│ QQuery 30    │  1339.96 ms │  1294.74 ms │     no change │
│ QQuery 31    │  1361.01 ms │  1324.84 ms │     no change │
│ QQuery 32    │  5411.12 ms │  4954.69 ms │ +1.09x faster │
│ QQuery 33    │  6015.37 ms │  5786.75 ms │     no change │
│ QQuery 34    │  6073.60 ms │  5985.01 ms │     no change │
│ QQuery 35    │  1979.36 ms │  1971.94 ms │     no change │
│ QQuery 36    │   115.26 ms │   118.99 ms │     no change │
│ QQuery 37    │    52.21 ms │    52.10 ms │     no change │
│ QQuery 38    │   115.81 ms │   117.34 ms │     no change │
│ QQuery 39    │   186.07 ms │   186.20 ms │     no change │
│ QQuery 40    │    41.37 ms │    42.65 ms │     no change │
│ QQuery 41    │    38.65 ms │    37.80 ms │     no change │
│ QQuery 42    │    31.49 ms │    32.42 ms │     no change │
└──────────────┴─────────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary          ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 95109.04ms │
│ Total Time (use-mutable)   │ 93669.16ms │
│ Average Time (HEAD)        │  2211.84ms │
│ Average Time (use-mutable) │  2178.35ms │
│ Queries Faster             │          2 │
│ Queries Slower             │          6 │
│ Queries with No Change     │         35 │
│ Queries with Failure       │          0 │
└────────────────────────────┴────────────┘
--------------------
Benchmark tpch_mem_sf1.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query        ┃      HEAD ┃ use-mutable ┃        Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1     │ 134.83 ms │   142.51 ms │  1.06x slower │
│ QQuery 2     │  28.29 ms │    27.35 ms │     no change │
│ QQuery 3     │  38.51 ms │    38.43 ms │     no change │
│ QQuery 4     │  28.66 ms │    28.51 ms │     no change │
│ QQuery 5     │  87.94 ms │    87.08 ms │     no change │
│ QQuery 6     │  19.57 ms │    19.91 ms │     no change │
│ QQuery 7     │ 223.54 ms │   224.41 ms │     no change │
│ QQuery 8     │  33.04 ms │    31.08 ms │ +1.06x faster │
│ QQuery 9     │ 107.25 ms │   105.05 ms │     no change │
│ QQuery 10    │  64.30 ms │    62.68 ms │     no change │
│ QQuery 11    │  18.58 ms │    17.32 ms │ +1.07x faster │
│ QQuery 12    │  50.95 ms │    51.44 ms │     no change │
│ QQuery 13    │  45.87 ms │    46.08 ms │     no change │
│ QQuery 14    │  13.46 ms │    13.68 ms │     no change │
│ QQuery 15    │  24.36 ms │    25.02 ms │     no change │
│ QQuery 16    │  26.10 ms │    25.69 ms │     no change │
│ QQuery 17    │ 149.61 ms │   150.62 ms │     no change │
│ QQuery 18    │ 274.54 ms │   278.88 ms │     no change │
│ QQuery 19    │  37.93 ms │    38.56 ms │     no change │
│ QQuery 20    │  49.04 ms │    48.29 ms │     no change │
│ QQuery 21    │ 314.58 ms │   320.94 ms │     no change │
│ QQuery 22    │  17.39 ms │    17.81 ms │     no change │
└──────────────┴───────────┴─────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary          ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)          │ 1788.33ms │
│ Total Time (use-mutable)   │ 1801.34ms │
│ Average Time (HEAD)        │   81.29ms │
│ Average Time (use-mutable) │   81.88ms │
│ Queries Faster             │         2 │
│ Queries Slower             │         1 │
│ Queries with No Change     │        19 │
│ Queries with Failure       │         0 │
└────────────────────────────┴───────────┘

@rluvaton
Copy link
Member Author

rluvaton commented Dec 5, 2025

I think these benchmarks are grouping on bytes/bytes view columns and I need to further optimize there, but the aggregate_vectorized benchmark shows promising results

@rluvaton
Copy link
Member Author

rluvaton commented Dec 6, 2025

run benchmarks aggregate_vectorized aggregate_query_sql

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

Labels

physical-plan Changes to the physical-plan crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants