datafusion icon indicating copy to clipboard operation
datafusion copied to clipboard

Draft: Use upstream arrow `coalesce` kernel in DataFusion

Open alamb opened this issue 7 months ago โ€ข 20 comments

Which issue does this PR close?

  • Related to https://github.com/apache/arrow-rs/issues/6692
  • Related to #3463

Rationale for this change

I am trying to move the coalesce operation upstream into arrow-rs so that it can be reused in parquet filter pushdown and more highly optimized. See :

  • https://github.com/apache/arrow-rs/pull/7597

The proposed upstream coalescer API is slightly different (guaranteed batch size, and doesn't have limit) so we must adapt the DataFusion code to handle this

What changes are included in this PR?

This PR refactors the BatchCoalescer in DataFusion to use the proposed upstream API to show that it

  1. Can be used (api is complete enough)
  2. Is not any slower

Are these changes tested?

By CI tests

Are there any user-facing changes?

No

alamb avatar Jun 04 '25 14:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (e79454f48929360b2753c51d9647f9a302c9e184) to 992d156c46f6ad4f0096c4a62b293cabef63718d diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 04 '25 14:06 alamb

๐Ÿค–: Benchmark completed

Details

Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ       HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ    Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚  1903.28ms โ”‚                    1910.47ms โ”‚ no change โ”‚
โ”‚ QQuery 1     โ”‚   705.78ms โ”‚                     705.39ms โ”‚ no change โ”‚
โ”‚ QQuery 2     โ”‚  1416.79ms โ”‚                    1427.68ms โ”‚ no change โ”‚
โ”‚ QQuery 3     โ”‚   721.59ms โ”‚                     695.62ms โ”‚ no change โ”‚
โ”‚ QQuery 4     โ”‚  1438.61ms โ”‚                    1459.22ms โ”‚ no change โ”‚
โ”‚ QQuery 5     โ”‚ 15147.47ms โ”‚                   15620.61ms โ”‚ no change โ”‚
โ”‚ QQuery 6     โ”‚  2025.79ms โ”‚                    2037.42ms โ”‚ no change โ”‚
โ”‚ QQuery 7     โ”‚  2088.81ms โ”‚                    2069.21ms โ”‚ no change โ”‚
โ”‚ QQuery 8     โ”‚   852.36ms โ”‚                     834.76ms โ”‚ no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 26300.48ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 26760.37ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  2922.28ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  2973.37ms โ”‚
โ”‚ Queries Faster                              โ”‚          0 โ”‚
โ”‚ Queries Slower                              โ”‚          0 โ”‚
โ”‚ Queries with No Change                      โ”‚          9 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark clickbench_partitioned.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ       HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚    15.39ms โ”‚                      16.12ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚    33.30ms โ”‚                      33.27ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚    81.95ms โ”‚                      81.53ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚    99.01ms โ”‚                      95.19ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚   680.72ms โ”‚                     583.09ms โ”‚ +1.17x faster โ”‚
โ”‚ QQuery 5     โ”‚   901.62ms โ”‚                     859.72ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚    24.40ms โ”‚                      23.86ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚    37.45ms โ”‚                      36.23ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   951.27ms โ”‚                     922.01ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  1259.35ms โ”‚                    1187.14ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 10    โ”‚   270.07ms โ”‚                     260.94ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚   301.01ms โ”‚                     298.82ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚   929.60ms โ”‚                     920.78ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  1352.62ms โ”‚                    1355.67ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚   843.74ms โ”‚                     858.27ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚   842.01ms โ”‚                     841.71ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  1725.31ms โ”‚                    1755.26ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  1605.81ms โ”‚                    1607.33ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚  3061.08ms โ”‚                    3122.06ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚    84.26ms โ”‚                      81.68ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  1134.75ms โ”‚                    1120.94ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚  1327.65ms โ”‚                    1341.47ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  2173.10ms โ”‚                    2220.13ms โ”‚     no change โ”‚
โ”‚ QQuery 23    โ”‚  8004.42ms โ”‚                    7989.85ms โ”‚     no change โ”‚
โ”‚ QQuery 24    โ”‚   468.53ms โ”‚                     466.85ms โ”‚     no change โ”‚
โ”‚ QQuery 25    โ”‚   383.28ms โ”‚                     389.97ms โ”‚     no change โ”‚
โ”‚ QQuery 26    โ”‚   538.11ms โ”‚                     527.43ms โ”‚     no change โ”‚
โ”‚ QQuery 27    โ”‚  1606.15ms โ”‚                    1622.52ms โ”‚     no change โ”‚
โ”‚ QQuery 28    โ”‚ 13703.82ms โ”‚                   13070.74ms โ”‚     no change โ”‚
โ”‚ QQuery 29    โ”‚   520.31ms โ”‚                     525.56ms โ”‚     no change โ”‚
โ”‚ QQuery 30    โ”‚   796.51ms โ”‚                     839.14ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 31    โ”‚   851.63ms โ”‚                     884.19ms โ”‚     no change โ”‚
โ”‚ QQuery 32    โ”‚  2618.12ms โ”‚                    2636.26ms โ”‚     no change โ”‚
โ”‚ QQuery 33    โ”‚  3372.88ms โ”‚                    3288.44ms โ”‚     no change โ”‚
โ”‚ QQuery 34    โ”‚  3403.04ms โ”‚                    3349.20ms โ”‚     no change โ”‚
โ”‚ QQuery 35    โ”‚  1296.66ms โ”‚                    1313.52ms โ”‚     no change โ”‚
โ”‚ QQuery 36    โ”‚   121.58ms โ”‚                     126.46ms โ”‚     no change โ”‚
โ”‚ QQuery 37    โ”‚    56.05ms โ”‚                      56.07ms โ”‚     no change โ”‚
โ”‚ QQuery 38    โ”‚   122.31ms โ”‚                     124.83ms โ”‚     no change โ”‚
โ”‚ QQuery 39    โ”‚   197.01ms โ”‚                     198.32ms โ”‚     no change โ”‚
โ”‚ QQuery 40    โ”‚    50.25ms โ”‚                      47.22ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 41    โ”‚    43.47ms โ”‚                      45.99ms โ”‚  1.06x slower โ”‚
โ”‚ QQuery 42    โ”‚    37.67ms โ”‚                      38.74ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 57927.27ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 57164.53ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  1347.15ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  1329.41ms โ”‚
โ”‚ Queries Faster                              โ”‚          3 โ”‚
โ”‚ Queries Slower                              โ”‚          2 โ”‚
โ”‚ Queries with No Change                      โ”‚         38 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ     HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ       Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚ 116.93ms โ”‚                     116.77ms โ”‚    no change โ”‚
โ”‚ QQuery 2     โ”‚  22.28ms โ”‚                      22.65ms โ”‚    no change โ”‚
โ”‚ QQuery 3     โ”‚  34.38ms โ”‚                      35.42ms โ”‚    no change โ”‚
โ”‚ QQuery 4     โ”‚  19.66ms โ”‚                      20.79ms โ”‚ 1.06x slower โ”‚
โ”‚ QQuery 5     โ”‚  54.59ms โ”‚                      53.23ms โ”‚    no change โ”‚
โ”‚ QQuery 6     โ”‚  11.97ms โ”‚                      11.95ms โ”‚    no change โ”‚
โ”‚ QQuery 7     โ”‚  96.84ms โ”‚                     100.06ms โ”‚    no change โ”‚
โ”‚ QQuery 8     โ”‚  25.69ms โ”‚                      25.35ms โ”‚    no change โ”‚
โ”‚ QQuery 9     โ”‚  60.26ms โ”‚                      60.42ms โ”‚    no change โ”‚
โ”‚ QQuery 10    โ”‚  49.39ms โ”‚                      47.08ms โ”‚    no change โ”‚
โ”‚ QQuery 11    โ”‚  11.41ms โ”‚                      12.24ms โ”‚ 1.07x slower โ”‚
โ”‚ QQuery 12    โ”‚  41.31ms โ”‚                      40.07ms โ”‚    no change โ”‚
โ”‚ QQuery 13    โ”‚  27.65ms โ”‚                      28.44ms โ”‚    no change โ”‚
โ”‚ QQuery 14    โ”‚   9.80ms โ”‚                       9.94ms โ”‚    no change โ”‚
โ”‚ QQuery 15    โ”‚  23.05ms โ”‚                      22.78ms โ”‚    no change โ”‚
โ”‚ QQuery 16    โ”‚  21.49ms โ”‚                      20.98ms โ”‚    no change โ”‚
โ”‚ QQuery 17    โ”‚  98.87ms โ”‚                      98.30ms โ”‚    no change โ”‚
โ”‚ QQuery 18    โ”‚ 217.87ms โ”‚                     208.15ms โ”‚    no change โ”‚
โ”‚ QQuery 19    โ”‚  26.67ms โ”‚                      26.21ms โ”‚    no change โ”‚
โ”‚ QQuery 20    โ”‚  34.27ms โ”‚                      36.07ms โ”‚ 1.05x slower โ”‚
โ”‚ QQuery 21    โ”‚ 160.60ms โ”‚                     163.49ms โ”‚    no change โ”‚
โ”‚ QQuery 22    โ”‚  16.66ms โ”‚                      16.30ms โ”‚    no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ           โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 1181.64ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 1176.69ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚   53.71ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚   53.49ms โ”‚
โ”‚ Queries Faster                              โ”‚         0 โ”‚
โ”‚ Queries Slower                              โ”‚         3 โ”‚
โ”‚ Queries with No Change                      โ”‚        19 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

alamb avatar Jun 04 '25 15:06 alamb

TLDR is that the performance looks good. I'll fixup the tests shortly

alamb avatar Jun 04 '25 15:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (9e20973387ae4b04914917726c834120e592238d) to 992d156c46f6ad4f0096c4a62b293cabef63718d diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 04 '25 15:06 alamb

๐Ÿค–: Benchmark completed

Details

Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ       HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ    Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚  1914.38ms โ”‚                    1938.51ms โ”‚ no change โ”‚
โ”‚ QQuery 1     โ”‚   711.81ms โ”‚                     718.29ms โ”‚ no change โ”‚
โ”‚ QQuery 2     โ”‚  1455.52ms โ”‚                    1470.28ms โ”‚ no change โ”‚
โ”‚ QQuery 3     โ”‚   712.37ms โ”‚                     694.68ms โ”‚ no change โ”‚
โ”‚ QQuery 4     โ”‚  1449.70ms โ”‚                    1448.88ms โ”‚ no change โ”‚
โ”‚ QQuery 5     โ”‚ 15655.93ms โ”‚                   15613.27ms โ”‚ no change โ”‚
โ”‚ QQuery 6     โ”‚  2014.71ms โ”‚                    2072.03ms โ”‚ no change โ”‚
โ”‚ QQuery 7     โ”‚  2080.97ms โ”‚                    2169.52ms โ”‚ no change โ”‚
โ”‚ QQuery 8     โ”‚   856.77ms โ”‚                     841.42ms โ”‚ no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 26852.14ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 26966.88ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  2983.57ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  2996.32ms โ”‚
โ”‚ Queries Faster                              โ”‚          0 โ”‚
โ”‚ Queries Slower                              โ”‚          0 โ”‚
โ”‚ Queries with No Change                      โ”‚          9 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark clickbench_partitioned.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ       HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚    15.50ms โ”‚                      15.07ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚    32.04ms โ”‚                      32.46ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚    85.71ms โ”‚                      81.49ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚   101.37ms โ”‚                      96.91ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚   635.37ms โ”‚                     605.83ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚   846.37ms โ”‚                     857.35ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚    25.51ms โ”‚                      22.94ms โ”‚ +1.11x faster โ”‚
โ”‚ QQuery 7     โ”‚    36.44ms โ”‚                      36.85ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   905.00ms โ”‚                     899.47ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  1221.22ms โ”‚                    1203.33ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚   256.84ms โ”‚                     261.35ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚   298.30ms โ”‚                     293.02ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚   896.38ms โ”‚                     900.13ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  1319.11ms โ”‚                    1229.16ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 14    โ”‚   821.82ms โ”‚                     840.52ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚   808.55ms โ”‚                     832.04ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  1708.26ms โ”‚                    1717.94ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  1564.42ms โ”‚                    1600.58ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚  3036.53ms โ”‚                    3090.72ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚    83.52ms โ”‚                      83.60ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  1120.03ms โ”‚                    1142.33ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚  1327.78ms โ”‚                    1340.28ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  2180.54ms โ”‚                    2211.59ms โ”‚     no change โ”‚
โ”‚ QQuery 23    โ”‚  8051.83ms โ”‚                    8092.34ms โ”‚     no change โ”‚
โ”‚ QQuery 24    โ”‚   467.15ms โ”‚                     463.58ms โ”‚     no change โ”‚
โ”‚ QQuery 25    โ”‚   393.84ms โ”‚                     390.05ms โ”‚     no change โ”‚
โ”‚ QQuery 26    โ”‚   540.91ms โ”‚                     522.58ms โ”‚     no change โ”‚
โ”‚ QQuery 27    โ”‚  1583.35ms โ”‚                    1648.93ms โ”‚     no change โ”‚
โ”‚ QQuery 28    โ”‚ 13535.80ms โ”‚                   14249.61ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 29    โ”‚   517.83ms โ”‚                     530.48ms โ”‚     no change โ”‚
โ”‚ QQuery 30    โ”‚   794.70ms โ”‚                     826.55ms โ”‚     no change โ”‚
โ”‚ QQuery 31    โ”‚   845.08ms โ”‚                     885.81ms โ”‚     no change โ”‚
โ”‚ QQuery 32    โ”‚  2690.84ms โ”‚                    2696.00ms โ”‚     no change โ”‚
โ”‚ QQuery 33    โ”‚  3326.15ms โ”‚                    3318.91ms โ”‚     no change โ”‚
โ”‚ QQuery 34    โ”‚  3395.28ms โ”‚                    3349.97ms โ”‚     no change โ”‚
โ”‚ QQuery 35    โ”‚  1271.25ms โ”‚                    1254.09ms โ”‚     no change โ”‚
โ”‚ QQuery 36    โ”‚   126.96ms โ”‚                     133.46ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 37    โ”‚    55.58ms โ”‚                      55.47ms โ”‚     no change โ”‚
โ”‚ QQuery 38    โ”‚   121.97ms โ”‚                     123.72ms โ”‚     no change โ”‚
โ”‚ QQuery 39    โ”‚   197.25ms โ”‚                     197.97ms โ”‚     no change โ”‚
โ”‚ QQuery 40    โ”‚    46.12ms โ”‚                      47.56ms โ”‚     no change โ”‚
โ”‚ QQuery 41    โ”‚    45.89ms โ”‚                      45.86ms โ”‚     no change โ”‚
โ”‚ QQuery 42    โ”‚    37.90ms โ”‚                      38.37ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 57372.28ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 58266.22ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  1334.24ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  1355.03ms โ”‚
โ”‚ Queries Faster                              โ”‚          2 โ”‚
โ”‚ Queries Slower                              โ”‚          2 โ”‚
โ”‚ Queries with No Change                      โ”‚         39 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ     HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚ 118.13ms โ”‚                     113.29ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚  22.88ms โ”‚                      21.65ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 3     โ”‚  34.71ms โ”‚                      34.51ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  19.51ms โ”‚                      20.75ms โ”‚  1.06x slower โ”‚
โ”‚ QQuery 5     โ”‚  52.61ms โ”‚                      52.95ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  11.99ms โ”‚                      12.01ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  95.89ms โ”‚                      90.98ms โ”‚ +1.05x faster โ”‚
โ”‚ QQuery 8     โ”‚  25.59ms โ”‚                      25.43ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  59.49ms โ”‚                      57.39ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚  47.76ms โ”‚                      47.09ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚  11.30ms โ”‚                      11.17ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚  40.26ms โ”‚                      41.39ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  26.70ms โ”‚                      27.66ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚   9.68ms โ”‚                       9.63ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚  22.07ms โ”‚                      22.57ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  21.15ms โ”‚                      20.92ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  95.43ms โ”‚                      96.63ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚ 214.02ms โ”‚                     191.75ms โ”‚ +1.12x faster โ”‚
โ”‚ QQuery 19    โ”‚  28.84ms โ”‚                      25.39ms โ”‚ +1.14x faster โ”‚
โ”‚ QQuery 20    โ”‚  35.16ms โ”‚                      34.99ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚ 157.53ms โ”‚                     161.74ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  15.87ms โ”‚                      15.50ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ           โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 1166.59ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 1135.38ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚   53.03ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚   51.61ms โ”‚
โ”‚ Queries Faster                              โ”‚         4 โ”‚
โ”‚ Queries Slower                              โ”‚         1 โ”‚
โ”‚ Queries with No Change                      โ”‚        17 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

alamb avatar Jun 04 '25 16:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (7d6471b5c9220d013cadd7313c655081af7115af) to 1daa5ed5cc51546904d45e23cc148601d973942a diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 07 '25 10:06 alamb

https://github.com/apache/datafusion/actions/runs/15506836203/job/43662848611?pr=16249

Caused by: process didn't exit successfully: /home/runner/work/datafusion/datafusion/target/ci/deps/fuzz-a456cc2e1bdd6367 (signal: 11, SIGSEGV: invalid memory reference) Error: Process completed with exit code 101.

๐Ÿค” that isn't good

alamb avatar Jun 07 '25 10:06 alamb

I added a PR for reverting the changes in arrow-rs https://github.com/apache/arrow-rs/pull/7623 - probably something subtle with one of the fast paths that isn't tested in arrow-rs.

Dandandan avatar Jun 07 '25 10:06 Dandandan

I added a PR for reverting the changes in arrow-rs apache/arrow-rs#7623 - probably something subtle with one of the fast paths that isn't tested in arrow-rs.

Thank you. I have a theory: https://github.com/apache/arrow-rs/pull/7623#discussion_r2133748478

alamb avatar Jun 07 '25 10:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (7d6471b5c9220d013cadd7313c655081af7115af) to 1daa5ed5cc51546904d45e23cc148601d973942a diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 07 '25 11:06 alamb

@alamb benchmark runs ok now

Dandandan avatar Jun 07 '25 17:06 Dandandan

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1013-gcp #13~24.04.1-Ubuntu SMP Wed Apr 2 16:34:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (ea8b7000d7d804c532cd57b84bdf98c332904503) to 992d156c46f6ad4f0096c4a62b293cabef63718d diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 08 '25 13:06 alamb

@alamb benchmark runs ok now

Awesome -- thanks -- I restarted it now

alamb avatar Jun 08 '25 13:06 alamb

๐Ÿค–: Benchmark completed

Details

Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚  1889.06 ms โ”‚                   1880.96 ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚   716.77 ms โ”‚                    667.48 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 2     โ”‚  1442.19 ms โ”‚                   1381.98 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚   712.29 ms โ”‚                    707.44 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  1455.16 ms โ”‚                   1475.63 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚ 15533.57 ms โ”‚                  15474.07 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  2038.22 ms โ”‚                   2036.86 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  2061.78 ms โ”‚                   2037.80 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   842.37 ms โ”‚                    847.71 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 26691.41ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 26509.93ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  2965.71ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  2945.55ms โ”‚
โ”‚ Queries Faster                              โ”‚          1 โ”‚
โ”‚ Queries Slower                              โ”‚          0 โ”‚
โ”‚ Queries with No Change                      โ”‚          8 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark clickbench_partitioned.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚    15.65 ms โ”‚                     15.15 ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚    32.30 ms โ”‚                     33.35 ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚    81.46 ms โ”‚                     81.55 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚    96.00 ms โ”‚                     95.49 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚   590.78 ms โ”‚                    601.11 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚   854.48 ms โ”‚                    848.50 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚    23.10 ms โ”‚                     22.76 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚    37.06 ms โ”‚                     36.92 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   896.05 ms โ”‚                    900.08 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  1200.36 ms โ”‚                   1191.28 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚   262.49 ms โ”‚                    251.45 ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚   291.65 ms โ”‚                    280.36 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚   904.38 ms โ”‚                    889.86 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  1315.11 ms โ”‚                   1315.16 ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚   837.89 ms โ”‚                    834.22 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚   821.30 ms โ”‚                    832.64 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  1705.68 ms โ”‚                   1693.59 ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  1592.92 ms โ”‚                   1569.47 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚  3045.50 ms โ”‚                   3002.20 ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚    84.78 ms โ”‚                     83.02 ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  1120.03 ms โ”‚                   1133.34 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚  1315.09 ms โ”‚                   1347.90 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  2178.63 ms โ”‚                   2211.92 ms โ”‚     no change โ”‚
โ”‚ QQuery 23    โ”‚  8029.68 ms โ”‚                   8083.35 ms โ”‚     no change โ”‚
โ”‚ QQuery 24    โ”‚   461.71 ms โ”‚                    449.41 ms โ”‚     no change โ”‚
โ”‚ QQuery 25    โ”‚   382.66 ms โ”‚                    390.38 ms โ”‚     no change โ”‚
โ”‚ QQuery 26    โ”‚   529.64 ms โ”‚                    522.68 ms โ”‚     no change โ”‚
โ”‚ QQuery 27    โ”‚  1625.55 ms โ”‚                   1625.82 ms โ”‚     no change โ”‚
โ”‚ QQuery 28    โ”‚ 13784.35 ms โ”‚                  12932.17 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 29    โ”‚   521.18 ms โ”‚                    524.09 ms โ”‚     no change โ”‚
โ”‚ QQuery 30    โ”‚   801.66 ms โ”‚                    823.84 ms โ”‚     no change โ”‚
โ”‚ QQuery 31    โ”‚   851.85 ms โ”‚                    852.68 ms โ”‚     no change โ”‚
โ”‚ QQuery 32    โ”‚  2690.63 ms โ”‚                   2635.40 ms โ”‚     no change โ”‚
โ”‚ QQuery 33    โ”‚  3345.68 ms โ”‚                   3295.22 ms โ”‚     no change โ”‚
โ”‚ QQuery 34    โ”‚  3342.67 ms โ”‚                   3308.73 ms โ”‚     no change โ”‚
โ”‚ QQuery 35    โ”‚  1263.11 ms โ”‚                   1267.54 ms โ”‚     no change โ”‚
โ”‚ QQuery 36    โ”‚   123.69 ms โ”‚                    124.38 ms โ”‚     no change โ”‚
โ”‚ QQuery 37    โ”‚    56.37 ms โ”‚                     58.61 ms โ”‚     no change โ”‚
โ”‚ QQuery 38    โ”‚   125.62 ms โ”‚                    124.93 ms โ”‚     no change โ”‚
โ”‚ QQuery 39    โ”‚   196.76 ms โ”‚                    196.00 ms โ”‚     no change โ”‚
โ”‚ QQuery 40    โ”‚    46.66 ms โ”‚                     46.58 ms โ”‚     no change โ”‚
โ”‚ QQuery 41    โ”‚    45.72 ms โ”‚                     46.90 ms โ”‚     no change โ”‚
โ”‚ QQuery 42    โ”‚    38.86 ms โ”‚                     37.39 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 57566.75ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 56617.44ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  1338.76ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  1316.68ms โ”‚
โ”‚ Queries Faster                              โ”‚          1 โ”‚
โ”‚ Queries Slower                              โ”‚          0 โ”‚
โ”‚ Queries with No Change                      โ”‚         42 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ      HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚ 118.73 ms โ”‚                    102.68 ms โ”‚ +1.16x faster โ”‚
โ”‚ QQuery 2     โ”‚  22.86 ms โ”‚                     21.30 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 3     โ”‚  34.24 ms โ”‚                     33.92 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  20.26 ms โ”‚                     20.20 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚  53.26 ms โ”‚                     50.18 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 6     โ”‚  12.20 ms โ”‚                     11.80 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  98.01 ms โ”‚                     90.17 ms โ”‚ +1.09x faster โ”‚
โ”‚ QQuery 8     โ”‚  26.39 ms โ”‚                     25.29 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  57.58 ms โ”‚                     57.16 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚  49.82 ms โ”‚                     45.13 ms โ”‚ +1.10x faster โ”‚
โ”‚ QQuery 11    โ”‚  11.63 ms โ”‚                     11.14 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚  40.85 ms โ”‚                     38.18 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 13    โ”‚  28.41 ms โ”‚                     28.02 ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚  10.05 ms โ”‚                      9.69 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚  22.60 ms โ”‚                     22.41 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  21.50 ms โ”‚                     20.11 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 17    โ”‚  97.15 ms โ”‚                     95.22 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚ 210.39 ms โ”‚                    176.64 ms โ”‚ +1.19x faster โ”‚
โ”‚ QQuery 19    โ”‚  26.46 ms โ”‚                     25.16 ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  34.93 ms โ”‚                     33.86 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚ 160.28 ms โ”‚                    144.59 ms โ”‚ +1.11x faster โ”‚
โ”‚ QQuery 22    โ”‚  17.04 ms โ”‚                     15.31 ms โ”‚ +1.11x faster โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ           โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 1174.64ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 1078.14ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚   53.39ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚   49.01ms โ”‚
โ”‚ Queries Faster                              โ”‚        10 โ”‚
โ”‚ Queries Slower                              โ”‚         0 โ”‚
โ”‚ Queries with No Change                      โ”‚        12 โ”‚
โ”‚ Queries with Failure                        โ”‚         0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

alamb avatar Jun 08 '25 14:06 alamb

๐Ÿค–: Benchmark completed

Details

This is similar to my results, some larger gains on TPC-H, smaller gains (spreaded out over different queries) for clickbench.

Dandandan avatar Jun 08 '25 15:06 Dandandan

This is similar to my results, some larger gains on TPC-H, smaller gains (spreaded out over different queries) for clickbench.

SWEET!

Just wait until we get rid of the intermediate copy ;) it is going to be amazing

alamb avatar Jun 08 '25 16:06 alamb

This is for me the result of not coalescing larger batches:

--- i/datafusion/physical-plan/src/coalesce/mod.rs
+++ w/datafusion/physical-plan/src/coalesce/mod.rs
@@ -33,6 +33,9 @@ pub struct LimitedBatchCoalescer {
     fetch: Option<usize>,
     /// Indicates if the coalescer is finished
     finished: bool,
+
+    /// target batch size
+    target_batch_size: usize,
 }
 
 impl LimitedBatchCoalescer {
@@ -53,6 +56,7 @@ impl LimitedBatchCoalescer {
             total_rows: 0,
             fetch,
             finished: false,
+            target_batch_size,
         }
     }
 
@@ -92,9 +96,15 @@ impl LimitedBatchCoalescer {
             }
         }
 
+        let num_rows = batch.num_rows();
+
         self.total_rows += batch.num_rows();
         self.inner.push_batch(batch)?;
 
+        if num_rows > self.target_batch_size / 2 {
+            self.inner.finish_buffered_batch()?;
+        }
+
         Ok(false) // not at limit
     }

Looks like some queries benefit from this:

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ      main โ”ƒ upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚  62.59 ms โ”‚          47.70 ms โ”‚ +1.31x faster โ”‚
โ”‚ QQuery 2     โ”‚  12.52 ms โ”‚          12.70 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚  20.40 ms โ”‚          20.52 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  13.52 ms โ”‚          12.76 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 5     โ”‚  31.40 ms โ”‚          30.72 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  11.01 ms โ”‚          11.13 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  67.99 ms โ”‚          68.61 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚  17.07 ms โ”‚          16.47 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  38.69 ms โ”‚          35.99 ms โ”‚ +1.08x faster โ”‚
โ”‚ QQuery 10    โ”‚  32.05 ms โ”‚          28.81 ms โ”‚ +1.11x faster โ”‚
โ”‚ QQuery 11    โ”‚   5.80 ms โ”‚           5.78 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚  28.83 ms โ”‚          27.93 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  18.29 ms โ”‚          17.37 ms โ”‚ +1.05x faster โ”‚
โ”‚ QQuery 14    โ”‚   5.24 ms โ”‚           5.68 ms โ”‚  1.08x slower โ”‚
โ”‚ QQuery 15    โ”‚  10.88 ms โ”‚          11.41 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  13.53 ms โ”‚          12.77 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 17    โ”‚  54.94 ms โ”‚          62.53 ms โ”‚  1.14x slower โ”‚
โ”‚ QQuery 18    โ”‚ 118.23 ms โ”‚         115.08 ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚  21.28 ms โ”‚          20.00 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 20    โ”‚  20.43 ms โ”‚          19.09 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 21    โ”‚  84.41 ms โ”‚          82.41 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  12.25 ms โ”‚          10.74 ms โ”‚ +1.14x faster โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                โ”ƒ          โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (main)                โ”‚ 701.36ms โ”‚
โ”‚ Total Time (upstream_coalesce)   โ”‚ 676.22ms โ”‚
โ”‚ Average Time (main)              โ”‚  31.88ms โ”‚
โ”‚ Average Time (upstream_coalesce) โ”‚  30.74ms โ”‚
โ”‚ Queries Faster                   โ”‚        9 โ”‚
โ”‚ Queries Slower                   โ”‚        2 โ”‚
โ”‚ Queries with No Change           โ”‚       11 โ”‚
โ”‚ Queries with Failure             โ”‚        0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Dandandan avatar Jun 15 '25 22:06 Dandandan

This is for me the result of not coalescing larger batches:

Nice

alamb avatar Jun 16 '25 11:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1015-gcp #15~24.04.1-Ubuntu SMP Thu Apr 24 20:41:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (ed31ce17d8743c3decd2dfbcb1e4bdce36d8132b) to 0c3bb78e24722e2a4f19cdc9a76f1c498949f5be diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 17 '25 16:06 alamb

๐Ÿค–: Benchmark completed

Details

Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚  1828.36 ms โ”‚                   1854.51 ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚   723.60 ms โ”‚                    683.35 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 2     โ”‚  1384.70 ms โ”‚                   1321.27 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚   658.78 ms โ”‚                    642.70 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  1342.72 ms โ”‚                   1349.52 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚ 15021.90 ms โ”‚                  15188.07 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  1999.39 ms โ”‚                   1980.18 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  1953.41 ms โ”‚                   1920.72 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   808.13 ms โ”‚                    797.19 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 25720.98ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 25737.51ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  2857.89ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  2859.72ms โ”‚
โ”‚ Queries Faster                              โ”‚          1 โ”‚
โ”‚ Queries Slower                              โ”‚          0 โ”‚
โ”‚ Queries with No Change                      โ”‚          8 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark clickbench_partitioned.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚    15.55 ms โ”‚                     15.10 ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚    33.14 ms โ”‚                     33.18 ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚    80.86 ms โ”‚                     81.13 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚    96.22 ms โ”‚                     98.51 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚   593.20 ms โ”‚                    597.56 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚   847.54 ms โ”‚                    817.57 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚    23.11 ms โ”‚                     25.77 ms โ”‚  1.12x slower โ”‚
โ”‚ QQuery 7     โ”‚    35.71 ms โ”‚                     35.94 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   860.27 ms โ”‚                    872.05 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  1176.62 ms โ”‚                   1162.75 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚   260.45 ms โ”‚                    245.56 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 11    โ”‚   290.23 ms โ”‚                    273.78 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 12    โ”‚   878.76 ms โ”‚                    875.99 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  1250.59 ms โ”‚                   1166.84 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 14    โ”‚   815.43 ms โ”‚                    795.20 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚   789.66 ms โ”‚                    806.26 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  1652.56 ms โ”‚                   1601.31 ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  1631.03 ms โ”‚                   1584.09 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚  2907.58 ms โ”‚                   2860.38 ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚    88.03 ms โ”‚                     85.04 ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  1116.73 ms โ”‚                   1094.13 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚  1231.96 ms โ”‚                   1243.58 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  2086.33 ms โ”‚                   2060.10 ms โ”‚     no change โ”‚
โ”‚ QQuery 23    โ”‚  7609.11 ms โ”‚                   7638.07 ms โ”‚     no change โ”‚
โ”‚ QQuery 24    โ”‚   446.74 ms โ”‚                    432.72 ms โ”‚     no change โ”‚
โ”‚ QQuery 25    โ”‚   378.26 ms โ”‚                    364.62 ms โ”‚     no change โ”‚
โ”‚ QQuery 26    โ”‚   517.69 ms โ”‚                    485.77 ms โ”‚ +1.07x faster โ”‚
โ”‚ QQuery 27    โ”‚  1470.79 ms โ”‚                   1585.42 ms โ”‚  1.08x slower โ”‚
โ”‚ QQuery 28    โ”‚ 11761.10 ms โ”‚                  12264.48 ms โ”‚     no change โ”‚
โ”‚ QQuery 29    โ”‚   513.95 ms โ”‚                    526.86 ms โ”‚     no change โ”‚
โ”‚ QQuery 30    โ”‚   765.22 ms โ”‚                    809.07 ms โ”‚  1.06x slower โ”‚
โ”‚ QQuery 31    โ”‚   825.49 ms โ”‚                    823.74 ms โ”‚     no change โ”‚
โ”‚ QQuery 32    โ”‚  2502.42 ms โ”‚                   2499.88 ms โ”‚     no change โ”‚
โ”‚ QQuery 33    โ”‚  3170.06 ms โ”‚                   3128.32 ms โ”‚     no change โ”‚
โ”‚ QQuery 34    โ”‚  3162.98 ms โ”‚                   3156.29 ms โ”‚     no change โ”‚
โ”‚ QQuery 35    โ”‚  1263.14 ms โ”‚                   1255.38 ms โ”‚     no change โ”‚
โ”‚ QQuery 36    โ”‚   121.47 ms โ”‚                    120.76 ms โ”‚     no change โ”‚
โ”‚ QQuery 37    โ”‚    57.52 ms โ”‚                     55.48 ms โ”‚     no change โ”‚
โ”‚ QQuery 38    โ”‚   121.35 ms โ”‚                    119.58 ms โ”‚     no change โ”‚
โ”‚ QQuery 39    โ”‚   188.51 ms โ”‚                    191.79 ms โ”‚     no change โ”‚
โ”‚ QQuery 40    โ”‚    49.48 ms โ”‚                     47.64 ms โ”‚     no change โ”‚
โ”‚ QQuery 41    โ”‚    43.56 ms โ”‚                     44.27 ms โ”‚     no change โ”‚
โ”‚ QQuery 42    โ”‚    38.51 ms โ”‚                     38.18 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 53768.90ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 54020.19ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  1250.44ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  1256.28ms โ”‚
โ”‚ Queries Faster                              โ”‚          4 โ”‚
โ”‚ Queries Slower                              โ”‚          3 โ”‚
โ”‚ Queries with No Change                      โ”‚         36 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ      HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚ 102.61 ms โ”‚                     92.16 ms โ”‚ +1.11x faster โ”‚
โ”‚ QQuery 2     โ”‚  20.52 ms โ”‚                     21.48 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚  32.05 ms โ”‚                     32.95 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  18.62 ms โ”‚                     19.13 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚  49.90 ms โ”‚                     48.34 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  11.97 ms โ”‚                     11.81 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  87.76 ms โ”‚                     84.68 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚  23.83 ms โ”‚                     24.85 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  54.08 ms โ”‚                     54.05 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚  43.02 ms โ”‚                     42.77 ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚  11.23 ms โ”‚                     11.41 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚  34.69 ms โ”‚                     33.75 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  26.52 ms โ”‚                     25.46 ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚   9.55 ms โ”‚                      9.97 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚  18.85 ms โ”‚                     19.02 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  19.09 ms โ”‚                     17.96 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 17    โ”‚  94.73 ms โ”‚                     94.57 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚ 194.78 ms โ”‚                    172.17 ms โ”‚ +1.13x faster โ”‚
โ”‚ QQuery 19    โ”‚  25.89 ms โ”‚                     24.97 ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  33.05 ms โ”‚                     32.02 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚ 148.87 ms โ”‚                    143.28 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  14.76 ms โ”‚                     14.74 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ           โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 1076.36ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 1031.55ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚   48.93ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚   46.89ms โ”‚
โ”‚ Queries Faster                              โ”‚         3 โ”‚
โ”‚ Queries Slower                              โ”‚         0 โ”‚
โ”‚ Queries with No Change                      โ”‚        19 โ”‚
โ”‚ Queries with Failure                        โ”‚         0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

alamb avatar Jun 17 '25 17:06 alamb

๐Ÿค– ./gh_compare_branch.sh Benchmark Script Running Linux aal-dev 6.11.0-1015-gcp #15~24.04.1-Ubuntu SMP Thu Apr 24 20:41:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Comparing alamb/test_upstream_coalesce (c5bb25ecd54f1d026a603f615af2f3ae730003c1) to e6df27c3ba49b32fef0689c87cb787d2f6948939 diff Benchmarks: tpch_mem clickbench_partitioned clickbench_extended Results will be posted here when complete

alamb avatar Jun 19 '25 11:06 alamb

๐Ÿค–: Benchmark completed

Details

Comparing HEAD and alamb_test_upstream_coalesce
--------------------
Benchmark clickbench_extended.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ       Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚  1932.11 ms โ”‚                   1959.62 ms โ”‚    no change โ”‚
โ”‚ QQuery 1     โ”‚   671.60 ms โ”‚                    731.10 ms โ”‚ 1.09x slower โ”‚
โ”‚ QQuery 2     โ”‚  1354.58 ms โ”‚                   1390.01 ms โ”‚    no change โ”‚
โ”‚ QQuery 3     โ”‚   677.33 ms โ”‚                    672.01 ms โ”‚    no change โ”‚
โ”‚ QQuery 4     โ”‚  1359.71 ms โ”‚                   1413.07 ms โ”‚    no change โ”‚
โ”‚ QQuery 5     โ”‚ 15014.69 ms โ”‚                  15070.00 ms โ”‚    no change โ”‚
โ”‚ QQuery 6     โ”‚  2038.40 ms โ”‚                   2077.47 ms โ”‚    no change โ”‚
โ”‚ QQuery 7     โ”‚  1899.44 ms โ”‚                   1917.93 ms โ”‚    no change โ”‚
โ”‚ QQuery 8     โ”‚   799.21 ms โ”‚                    802.77 ms โ”‚    no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 25747.08ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 26033.98ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  2860.79ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  2892.66ms โ”‚
โ”‚ Queries Faster                              โ”‚          0 โ”‚
โ”‚ Queries Slower                              โ”‚          1 โ”‚
โ”‚ Queries with No Change                      โ”‚          8 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark clickbench_partitioned.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ        HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 0     โ”‚    15.29 ms โ”‚                     14.86 ms โ”‚     no change โ”‚
โ”‚ QQuery 1     โ”‚    32.32 ms โ”‚                     32.47 ms โ”‚     no change โ”‚
โ”‚ QQuery 2     โ”‚    80.82 ms โ”‚                     83.09 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚    97.30 ms โ”‚                    100.35 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚   582.52 ms โ”‚                    601.94 ms โ”‚     no change โ”‚
โ”‚ QQuery 5     โ”‚   855.20 ms โ”‚                    890.36 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚    24.39 ms โ”‚                     22.99 ms โ”‚ +1.06x faster โ”‚
โ”‚ QQuery 7     โ”‚    37.26 ms โ”‚                     37.48 ms โ”‚     no change โ”‚
โ”‚ QQuery 8     โ”‚   870.44 ms โ”‚                    903.78 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  1149.36 ms โ”‚                   1158.10 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚   254.65 ms โ”‚                    246.37 ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚   283.28 ms โ”‚                    274.40 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚   893.90 ms โ”‚                    869.23 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  1245.44 ms โ”‚                   1204.88 ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚   823.03 ms โ”‚                    807.97 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚   784.04 ms โ”‚                    779.40 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  1624.44 ms โ”‚                   1598.59 ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  1621.59 ms โ”‚                   1594.75 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚  2897.95 ms โ”‚                   2867.76 ms โ”‚     no change โ”‚
โ”‚ QQuery 19    โ”‚    85.75 ms โ”‚                     85.91 ms โ”‚     no change โ”‚
โ”‚ QQuery 20    โ”‚  1137.00 ms โ”‚                   1185.54 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚  1285.35 ms โ”‚                   1311.01 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  2134.45 ms โ”‚                   2186.42 ms โ”‚     no change โ”‚
โ”‚ QQuery 23    โ”‚  7323.06 ms โ”‚                   7573.71 ms โ”‚     no change โ”‚
โ”‚ QQuery 24    โ”‚   438.82 ms โ”‚                    427.57 ms โ”‚     no change โ”‚
โ”‚ QQuery 25    โ”‚   309.06 ms โ”‚                    298.56 ms โ”‚     no change โ”‚
โ”‚ QQuery 26    โ”‚   435.91 ms โ”‚                    431.97 ms โ”‚     no change โ”‚
โ”‚ QQuery 27    โ”‚  1513.35 ms โ”‚                   1592.76 ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 28    โ”‚ 11798.50 ms โ”‚                  12256.59 ms โ”‚     no change โ”‚
โ”‚ QQuery 29    โ”‚   524.57 ms โ”‚                    532.43 ms โ”‚     no change โ”‚
โ”‚ QQuery 30    โ”‚   762.01 ms โ”‚                    807.18 ms โ”‚  1.06x slower โ”‚
โ”‚ QQuery 31    โ”‚   776.54 ms โ”‚                    818.54 ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 32    โ”‚  2461.47 ms โ”‚                   2445.66 ms โ”‚     no change โ”‚
โ”‚ QQuery 33    โ”‚  3151.15 ms โ”‚                   3163.82 ms โ”‚     no change โ”‚
โ”‚ QQuery 34    โ”‚  3136.04 ms โ”‚                   3162.43 ms โ”‚     no change โ”‚
โ”‚ QQuery 35    โ”‚  1282.86 ms โ”‚                   1254.00 ms โ”‚     no change โ”‚
โ”‚ QQuery 36    โ”‚   123.18 ms โ”‚                    128.16 ms โ”‚     no change โ”‚
โ”‚ QQuery 37    โ”‚    55.08 ms โ”‚                     57.78 ms โ”‚     no change โ”‚
โ”‚ QQuery 38    โ”‚   120.54 ms โ”‚                    123.58 ms โ”‚     no change โ”‚
โ”‚ QQuery 39    โ”‚   200.20 ms โ”‚                    195.98 ms โ”‚     no change โ”‚
โ”‚ QQuery 40    โ”‚    48.71 ms โ”‚                     48.11 ms โ”‚     no change โ”‚
โ”‚ QQuery 41    โ”‚    44.78 ms โ”‚                     43.76 ms โ”‚     no change โ”‚
โ”‚ QQuery 42    โ”‚    38.79 ms โ”‚                     38.68 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 53360.37ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 54258.91ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚  1240.94ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚  1261.84ms โ”‚
โ”‚ Queries Faster                              โ”‚          1 โ”‚
โ”‚ Queries Slower                              โ”‚          3 โ”‚
โ”‚ Queries with No Change                      โ”‚         39 โ”‚
โ”‚ Queries with Failure                        โ”‚          0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
--------------------
Benchmark tpch_mem_sf1.json
--------------------
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Query        โ”ƒ      HEAD โ”ƒ alamb_test_upstream_coalesce โ”ƒ        Change โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ QQuery 1     โ”‚  97.12 ms โ”‚                     89.91 ms โ”‚ +1.08x faster โ”‚
โ”‚ QQuery 2     โ”‚  20.42 ms โ”‚                     21.16 ms โ”‚     no change โ”‚
โ”‚ QQuery 3     โ”‚  32.17 ms โ”‚                     32.80 ms โ”‚     no change โ”‚
โ”‚ QQuery 4     โ”‚  17.93 ms โ”‚                     19.10 ms โ”‚  1.06x slower โ”‚
โ”‚ QQuery 5     โ”‚  48.27 ms โ”‚                     49.10 ms โ”‚     no change โ”‚
โ”‚ QQuery 6     โ”‚  11.91 ms โ”‚                     11.81 ms โ”‚     no change โ”‚
โ”‚ QQuery 7     โ”‚  88.52 ms โ”‚                     83.99 ms โ”‚ +1.05x faster โ”‚
โ”‚ QQuery 8     โ”‚  22.96 ms โ”‚                     23.81 ms โ”‚     no change โ”‚
โ”‚ QQuery 9     โ”‚  53.28 ms โ”‚                     53.21 ms โ”‚     no change โ”‚
โ”‚ QQuery 10    โ”‚  42.29 ms โ”‚                     43.34 ms โ”‚     no change โ”‚
โ”‚ QQuery 11    โ”‚  11.12 ms โ”‚                     11.29 ms โ”‚     no change โ”‚
โ”‚ QQuery 12    โ”‚  34.22 ms โ”‚                     33.59 ms โ”‚     no change โ”‚
โ”‚ QQuery 13    โ”‚  26.44 ms โ”‚                     26.00 ms โ”‚     no change โ”‚
โ”‚ QQuery 14    โ”‚  10.09 ms โ”‚                      9.87 ms โ”‚     no change โ”‚
โ”‚ QQuery 15    โ”‚  20.10 ms โ”‚                     19.39 ms โ”‚     no change โ”‚
โ”‚ QQuery 16    โ”‚  18.92 ms โ”‚                     18.02 ms โ”‚     no change โ”‚
โ”‚ QQuery 17    โ”‚  96.13 ms โ”‚                     94.21 ms โ”‚     no change โ”‚
โ”‚ QQuery 18    โ”‚ 190.71 ms โ”‚                    172.82 ms โ”‚ +1.10x faster โ”‚
โ”‚ QQuery 19    โ”‚  25.35 ms โ”‚                     26.69 ms โ”‚  1.05x slower โ”‚
โ”‚ QQuery 20    โ”‚  31.94 ms โ”‚                     32.32 ms โ”‚     no change โ”‚
โ”‚ QQuery 21    โ”‚ 150.45 ms โ”‚                    147.83 ms โ”‚     no change โ”‚
โ”‚ QQuery 22    โ”‚  14.93 ms โ”‚                     14.82 ms โ”‚     no change โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Benchmark Summary                           โ”ƒ           โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Total Time (HEAD)                           โ”‚ 1065.26ms โ”‚
โ”‚ Total Time (alamb_test_upstream_coalesce)   โ”‚ 1035.06ms โ”‚
โ”‚ Average Time (HEAD)                         โ”‚   48.42ms โ”‚
โ”‚ Average Time (alamb_test_upstream_coalesce) โ”‚   47.05ms โ”‚
โ”‚ Queries Faster                              โ”‚         3 โ”‚
โ”‚ Queries Slower                              โ”‚         2 โ”‚
โ”‚ Queries with No Change                      โ”‚        17 โ”‚
โ”‚ Queries with Failure                        โ”‚         0 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

alamb avatar Jun 19 '25 12:06 alamb

Thank you for your contribution. Unfortunately, this pull request is stale because it has been open 60 days with no activity. Please remove the stale label or comment or this will be closed in 7 days.

github-actions[bot] avatar Aug 19 '25 02:08 github-actions[bot]

@zhuqi-lucas is working on this in https://github.com/apache/datafusion/pull/17105 instead

alamb avatar Aug 22 '25 13:08 alamb