Skip to content

feat: enable datafusion.optimizer.enable_window_topn by default - #27197

Merged
alamb merged 4 commits into
apache:mainfrom
SubhamSinghal:window-topn-default-on
Nov 14, 2026
Merged

alamb merged 4 commits into
apache:mainfrom
SubhamSinghal:window-topn-default-on

Conversation

@SubhamSinghal

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

enable_window_topn has been off since #21479 because of high-cardinality regressions against the sort plan. The work items in #24608 are now done:

The h2o window benchmark's Top-N queries (benchmarks/queries/h2o/window.sql, Q13–Q29, small dataset, J1_1e7_1e7_NA.parquet) are now faster with the flag on in every case, up to 100K partitions and including the heavy-ties variants. dfbench h2o --iterations 5, median, DATAFUSION_OPTIMIZER_ENABLE_WINDOW_TOPN=false for the baseline, same binary, Apple M4 Max:

Query function, partitions off (ms) on (ms) change
Q13 ROW_NUMBER, id2 127.4 25.8 4.93x faster
Q14 ROW_NUMBER, 100 190.8 35.9 5.32x faster
Q15 ROW_NUMBER, 1K 173.6 35.7 4.86x faster
Q16 ROW_NUMBER, 10K 149.7 33.0 4.54x faster
Q17 ROW_NUMBER, 100K 151.1 49.1 3.08x faster
Q18 RANK, 100 226.3 28.8 7.86x faster
Q19 RANK, 1K 186.0 29.6 6.28x faster
Q20 RANK, 1K, heavy ties 209.8 57.1 3.67x faster
Q21 RANK, id2 174.2 25.4 6.87x faster
Q22 RANK, id2, heavy ties 190.5 37.2 5.13x faster
Q23 RANK, 100K 188.1 63.5 2.96x faster
Q24 DENSE_RANK, 100 248.4 38.6 6.43x faster
Q25 DENSE_RANK, 1K 199.6 36.9 5.40x faster
Q26 DENSE_RANK, 1K, heavy ties 232.2 43.3 5.37x faster
Q27 DENSE_RANK, id2 211.3 45.7 4.63x faster
Q28 DENSE_RANK, id2, heavy ties 208.7 53.6 3.89x faster
Q29 DENSE_RANK, 100K 205.8 123.3 1.67x faster

What changes are included in this PR?

  • enable_window_topn defaults to true; its doc comment now lists ROW_NUMBER, RANK and DENSE_RANK and drops the high-cardinality warning.
  • window_topn.slt restores the setting with RESET instead of SET ... = false.
  • configs.md and information_schema.slt regenerated.
  • The h2o window_sorted settings comment no longer says the flag defaults to false (it still sets it explicitly).

What is the testing strategy for this PR?

Existing coverage. With the flag on by default, the whole sqllogictest suite and core_integration pass with only the information_schema.slt default change; qualify.slt's rank <= 3 / dense_rank <= 2 cases now run through PartitionedTopKExec and return the same results. window_topn.slt still covers the disabled path explicitly.

Are there any user-facing changes?

Yes. Top-K-per-partition queries (rn <= K, rn < K over ROW_NUMBER / RANK / DENSE_RANK) plan with PartitionedTopKExec instead of a full sort, so EXPLAIN output changes; results don't. Set datafusion.optimizer.enable_window_topn = false to get the old plan.

@github-actions github-actions Bot added documentation Improvements or additions to documentation sqllogictest SQL Logic Tests (.slt) common Related to common crate labels Nov 7, 2026
@alamb

alamb commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

run benchmark h2o_small_window_parquet

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721107838-4610-2twsg 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark h2o_small_window_parquet

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o_window.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   53.64 ms │               51.75 ms │     no change │
│ QQuery 2  │ 1635.85 ms │             1653.26 ms │     no change │
│ QQuery 3  │ 2410.99 ms │             2377.07 ms │     no change │
│ QQuery 4  │  321.89 ms │              319.25 ms │     no change │
│ QQuery 5  │  595.76 ms │              588.78 ms │     no change │
│ QQuery 6  │ 2931.54 ms │             3013.73 ms │     no change │
│ QQuery 7  │ 2541.11 ms │             2557.31 ms │     no change │
│ QQuery 8  │ 9383.65 ms │             9543.31 ms │     no change │
│ QQuery 9  │  238.70 ms │              236.31 ms │     no change │
│ QQuery 10 │  421.02 ms │              429.83 ms │     no change │
│ QQuery 11 │  407.84 ms │              409.79 ms │     no change │
│ QQuery 12 │  945.05 ms │              947.79 ms │     no change │
│ QQuery 13 │  196.72 ms │               33.14 ms │ +5.94x faster │
│ QQuery 14 │  305.61 ms │               46.18 ms │ +6.62x faster │
│ QQuery 15 │  249.18 ms │               46.61 ms │ +5.35x faster │
│ QQuery 16 │  221.34 ms │               49.63 ms │ +4.46x faster │
│ QQuery 17 │  218.24 ms │               76.73 ms │ +2.84x faster │
│ QQuery 18 │  354.98 ms │               50.54 ms │ +7.02x faster │
│ QQuery 19 │  286.47 ms │               48.27 ms │ +5.93x faster │
│ QQuery 20 │  311.34 ms │               51.93 ms │ +6.00x faster │
│ QQuery 21 │  230.03 ms │               32.72 ms │ +7.03x faster │
│ QQuery 22 │  252.13 ms │               40.47 ms │ +6.23x faster │
│ QQuery 23 │  257.10 ms │               76.17 ms │ +3.38x faster │
│ QQuery 24 │  353.52 ms │               47.66 ms │ +7.42x faster │
│ QQuery 25 │  287.58 ms │               50.80 ms │ +5.66x faster │
│ QQuery 26 │  315.48 ms │               60.69 ms │ +5.20x faster │
│ QQuery 27 │  232.53 ms │               47.79 ms │ +4.87x faster │
│ QQuery 28 │  254.05 ms │               59.42 ms │ +4.28x faster │
│ QQuery 29 │  252.72 ms │              212.61 ms │ +1.19x faster │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 26466.06ms │
│ Total Time (window-topn-default-on)   │ 23159.54ms │
│ Average Time (HEAD)                   │   912.62ms │
│ Average Time (window-topn-default-on) │   798.60ms │
│ Queries Faster                        │         17 │
│ Queries Slower                        │          0 │
│ Queries with No Change                │         12 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o_window.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                 window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        53.64 / 55.83 ±2.73 / 59.69 ms │         51.75 / 54.82 ±4.07 / 60.57 ms │     no change │
│ QQuery 2  │ 1635.85 / 1647.23 ±10.77 / 1661.68 ms │   1653.26 / 1661.67 ±5.97 / 1666.53 ms │     no change │
│ QQuery 3  │ 2410.99 / 2498.43 ±66.60 / 2572.46 ms │ 2377.07 / 2616.66 ±269.26 / 2992.77 ms │     no change │
│ QQuery 4  │     321.89 / 325.61 ±3.11 / 329.51 ms │     319.25 / 329.88 ±10.61 / 344.36 ms │     no change │
│ QQuery 5  │    595.76 / 617.52 ±16.05 / 633.97 ms │     588.78 / 602.84 ±10.80 / 615.05 ms │     no change │
│ QQuery 6  │ 2931.54 / 2939.81 ±10.39 / 2954.47 ms │   3013.73 / 3017.22 ±2.50 / 3019.44 ms │     no change │
│ QQuery 7  │  2541.11 / 2552.63 ±8.21 / 2559.70 ms │   2557.31 / 2569.92 ±9.06 / 2578.19 ms │     no change │
│ QQuery 8  │ 9383.65 / 9409.47 ±19.73 / 9431.52 ms │  9543.31 / 9573.32 ±23.50 / 9600.69 ms │     no change │
│ QQuery 9  │     238.70 / 244.15 ±5.87 / 252.30 ms │      236.31 / 242.47 ±5.34 / 249.34 ms │     no change │
│ QQuery 10 │    421.02 / 432.34 ±11.44 / 448.01 ms │      429.83 / 435.25 ±6.14 / 443.84 ms │     no change │
│ QQuery 11 │    407.84 / 416.67 ±11.58 / 433.02 ms │      409.79 / 420.35 ±8.90 / 431.56 ms │     no change │
│ QQuery 12 │     945.05 / 949.50 ±4.82 / 956.19 ms │      947.79 / 948.95 ±1.30 / 950.78 ms │     no change │
│ QQuery 13 │     196.72 / 204.64 ±6.54 / 212.73 ms │         33.14 / 34.04 ±0.73 / 34.94 ms │ +6.01x faster │
│ QQuery 14 │     305.61 / 308.63 ±2.23 / 310.91 ms │         46.18 / 48.26 ±1.56 / 49.94 ms │ +6.40x faster │
│ QQuery 15 │     249.18 / 251.09 ±1.35 / 252.06 ms │         46.61 / 49.66 ±2.18 / 51.53 ms │ +5.06x faster │
│ QQuery 16 │     221.34 / 224.45 ±2.24 / 226.52 ms │         49.63 / 51.67 ±1.52 / 53.26 ms │ +4.34x faster │
│ QQuery 17 │     218.24 / 221.57 ±3.80 / 226.89 ms │         76.73 / 84.42 ±6.18 / 91.86 ms │ +2.62x faster │
│ QQuery 18 │     354.98 / 359.15 ±5.32 / 366.65 ms │         50.54 / 51.65 ±0.78 / 52.23 ms │ +6.95x faster │
│ QQuery 19 │     286.47 / 289.46 ±2.23 / 291.81 ms │         48.27 / 48.67 ±0.31 / 49.02 ms │ +5.95x faster │
│ QQuery 20 │     311.34 / 313.80 ±2.27 / 316.81 ms │         51.93 / 53.19 ±1.00 / 54.36 ms │ +5.90x faster │
│ QQuery 21 │     230.03 / 232.89 ±2.02 / 234.35 ms │         32.72 / 34.20 ±1.56 / 36.36 ms │ +6.81x faster │
│ QQuery 22 │     252.13 / 256.80 ±3.34 / 259.75 ms │         40.47 / 41.24 ±0.74 / 42.25 ms │ +6.23x faster │
│ QQuery 23 │     257.10 / 259.77 ±2.06 / 262.11 ms │         76.17 / 80.88 ±4.76 / 87.40 ms │ +3.21x faster │
│ QQuery 24 │     353.52 / 359.96 ±5.64 / 367.26 ms │         47.66 / 50.69 ±2.38 / 53.48 ms │ +7.10x faster │
│ QQuery 25 │     287.58 / 295.21 ±7.43 / 305.28 ms │         50.80 / 54.33 ±2.52 / 56.49 ms │ +5.43x faster │
│ QQuery 26 │     315.48 / 318.97 ±4.89 / 325.88 ms │         60.69 / 61.32 ±0.45 / 61.72 ms │ +5.20x faster │
│ QQuery 27 │     232.53 / 235.97 ±3.36 / 240.53 ms │         47.79 / 49.29 ±1.14 / 50.56 ms │ +4.79x faster │
│ QQuery 28 │     254.05 / 260.13 ±7.92 / 271.32 ms │         59.42 / 59.93 ±0.42 / 60.46 ms │ +4.34x faster │
│ QQuery 29 │     252.72 / 262.42 ±6.86 / 267.60 ms │      212.61 / 214.90 ±2.59 / 218.53 ms │ +1.22x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 26744.11ms │
│ Total Time (window-topn-default-on)   │ 23541.67ms │
│ Average Time (HEAD)                   │   922.21ms │
│ Average Time (window-topn-default-on) │   811.78ms │
│ Queries Faster                        │         17 │
│ Queries Slower                        │          0 │
│ Queries with No Change                │         12 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Resource Usage

h2o_small_window_parquet — base (merge-base)

Metric Value
Wall time 85.0s
Peak memory 4.0 GiB
Avg memory 1007.5 MiB
CPU user 346.9s
CPU sys 8.2s
Peak spill 0 B

h2o_small_window_parquet — branch

Metric Value
Wall time 75.0s
Peak memory 4.3 GiB
Avg memory 1.1 GiB
CPU user 243.4s
CPU sys 6.1s
Peak spill 0 B

File an issue against this benchmark runner

@alamb

alamb commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

run benchmarks

@alamb

alamb commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

run benchmark h2o_small_parquet h2o_medium_parquet h2o_medium_window_parquet

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721269568-4611-cpvxh 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark clickbench_partitioned

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721269568-4612-hkmzg 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark tpcds

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721269568-4613-gd2sp 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark tpch

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721271170-4616-sbfxp 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark h2o_medium_window_parquet

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721271170-4615-6tjqh 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark h2o_medium_parquet

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6721271170-4614-trftw 6.12.105+ #1 SMP Sat Sep 19 07:55:25 UTC 2026 aarch64 GNU/Linux

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

Run configuration
run benchmark h2o_small_parquet

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ window-topn-default-on ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.97 ms │               40.86 ms │ no change │
│ QQuery 2  │ 18.34 ms │               18.36 ms │ no change │
│ QQuery 3  │ 28.38 ms │               28.65 ms │ no change │
│ QQuery 4  │ 17.45 ms │               17.57 ms │ no change │
│ QQuery 5  │ 35.92 ms │               35.79 ms │ no change │
│ QQuery 6  │ 13.85 ms │               13.76 ms │ no change │
│ QQuery 7  │ 42.94 ms │               41.54 ms │ no change │
│ QQuery 8  │ 40.30 ms │               40.44 ms │ no change │
│ QQuery 9  │ 49.78 ms │               50.85 ms │ no change │
│ QQuery 10 │ 40.40 ms │               40.16 ms │ no change │
│ QQuery 11 │ 13.55 ms │               13.43 ms │ no change │
│ QQuery 12 │ 18.01 ms │               18.22 ms │ no change │
│ QQuery 13 │ 39.98 ms │               39.84 ms │ no change │
│ QQuery 14 │ 24.58 ms │               24.10 ms │ no change │
│ QQuery 15 │ 31.08 ms │               31.51 ms │ no change │
│ QQuery 16 │ 13.58 ms │               13.57 ms │ no change │
│ QQuery 17 │ 70.56 ms │               71.77 ms │ no change │
│ QQuery 18 │ 42.04 ms │               43.02 ms │ no change │
│ QQuery 19 │ 31.96 ms │               32.05 ms │ no change │
│ QQuery 20 │ 31.97 ms │               31.43 ms │ no change │
│ QQuery 21 │ 56.95 ms │               55.22 ms │ no change │
│ QQuery 22 │ 13.67 ms │               13.49 ms │ no change │
└───────────┴──────────┴────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                     ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 716.26ms │
│ Total Time (window-topn-default-on)   │ 715.61ms │
│ Average Time (HEAD)                   │  32.56ms │
│ Average Time (window-topn-default-on) │  32.53ms │
│ Queries Faster                        │        0 │
│ Queries Slower                        │        0 │
│ Queries with No Change                │       22 │
│ Queries with Failure                  │        0 │
└───────────────────────────────────────┴──────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃         window-topn-default-on ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.97 / 41.71 ±1.02 / 43.72 ms │ 40.86 / 43.49 ±1.98 / 46.86 ms │ no change │
│ QQuery 2  │ 18.34 / 18.88 ±0.56 / 19.77 ms │ 18.36 / 18.51 ±0.20 / 18.89 ms │ no change │
│ QQuery 3  │ 28.38 / 28.60 ±0.13 / 28.76 ms │ 28.65 / 29.22 ±0.57 / 30.26 ms │ no change │
│ QQuery 4  │ 17.45 / 17.66 ±0.14 / 17.88 ms │ 17.57 / 17.67 ±0.12 / 17.91 ms │ no change │
│ QQuery 5  │ 35.92 / 36.32 ±0.24 / 36.64 ms │ 35.79 / 36.31 ±0.34 / 36.67 ms │ no change │
│ QQuery 6  │ 13.85 / 14.36 ±0.46 / 15.06 ms │ 13.76 / 14.25 ±0.65 / 15.50 ms │ no change │
│ QQuery 7  │ 42.94 / 44.38 ±1.52 / 47.08 ms │ 41.54 / 42.82 ±1.00 / 44.61 ms │ no change │
│ QQuery 8  │ 40.30 / 41.44 ±1.51 / 44.40 ms │ 40.44 / 40.77 ±0.26 / 41.10 ms │ no change │
│ QQuery 9  │ 49.78 / 50.86 ±1.19 / 53.02 ms │ 50.85 / 51.27 ±0.48 / 52.20 ms │ no change │
│ QQuery 10 │ 40.40 / 40.92 ±0.34 / 41.43 ms │ 40.16 / 41.47 ±1.41 / 43.34 ms │ no change │
│ QQuery 11 │ 13.55 / 13.85 ±0.31 / 14.40 ms │ 13.43 / 13.88 ±0.65 / 15.16 ms │ no change │
│ QQuery 12 │ 18.01 / 18.64 ±0.55 / 19.67 ms │ 18.22 / 18.39 ±0.12 / 18.58 ms │ no change │
│ QQuery 13 │ 39.98 / 41.60 ±1.84 / 45.00 ms │ 39.84 / 41.66 ±2.17 / 45.24 ms │ no change │
│ QQuery 14 │ 24.58 / 24.71 ±0.09 / 24.85 ms │ 24.10 / 24.46 ±0.39 / 25.15 ms │ no change │
│ QQuery 15 │ 31.08 / 31.61 ±0.31 / 31.95 ms │ 31.51 / 32.86 ±0.90 / 34.35 ms │ no change │
│ QQuery 16 │ 13.58 / 13.83 ±0.19 / 14.16 ms │ 13.57 / 13.82 ±0.26 / 14.17 ms │ no change │
│ QQuery 17 │ 70.56 / 71.69 ±1.13 / 73.31 ms │ 71.77 / 73.52 ±1.80 / 76.44 ms │ no change │
│ QQuery 18 │ 42.04 / 43.40 ±1.26 / 45.75 ms │ 43.02 / 44.14 ±1.14 / 46.24 ms │ no change │
│ QQuery 19 │ 31.96 / 32.64 ±1.03 / 34.68 ms │ 32.05 / 32.97 ±1.06 / 34.99 ms │ no change │
│ QQuery 20 │ 31.97 / 32.56 ±0.69 / 33.90 ms │ 31.43 / 31.92 ±0.28 / 32.23 ms │ no change │
│ QQuery 21 │ 56.95 / 58.13 ±0.92 / 59.21 ms │ 55.22 / 56.45 ±0.82 / 57.19 ms │ no change │
│ QQuery 22 │ 13.67 / 13.85 ±0.14 / 14.10 ms │ 13.49 / 13.78 ±0.23 / 14.16 ms │ no change │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                     ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 731.63ms │
│ Total Time (window-topn-default-on)   │ 733.64ms │
│ Average Time (HEAD)                   │  33.26ms │
│ Average Time (window-topn-default-on) │  33.35ms │
│ Queries Faster                        │        0 │
│ Queries Slower                        │        0 │
│ Queries with No Change                │       22 │
│ Queries with Failure                  │        0 │
└───────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

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

tpch — branch

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

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   9.32 ms │                9.70 ms │     no change │
│ QQuery 2  │  79.64 ms │               81.94 ms │     no change │
│ QQuery 3  │  60.37 ms │               60.30 ms │     no change │
│ QQuery 4  │  14.46 ms │               14.75 ms │     no change │
│ QQuery 5  │  51.03 ms │               51.19 ms │     no change │
│ QQuery 6  │  46.35 ms │               47.05 ms │     no change │
│ QQuery 7  │  53.50 ms │               52.75 ms │     no change │
│ QQuery 8  │ 179.89 ms │               48.68 ms │ +3.70x faster │
│ QQuery 9  │ 131.04 ms │              125.47 ms │     no change │
│ QQuery 10 │ 129.21 ms │              123.87 ms │     no change │
└───────────┴───────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                     ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 754.80ms │
│ Total Time (window-topn-default-on)   │ 615.71ms │
│ Average Time (HEAD)                   │  75.48ms │
│ Average Time (window-topn-default-on) │  61.57ms │
│ Queries Faster                        │        1 │
│ Queries Slower                        │        0 │
│ Queries with No Change                │        9 │
│ Queries with Failure                  │        0 │
└───────────────────────────────────────┴──────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃            window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │     9.32 / 10.25 ±1.26 / 12.04 ms │     9.70 / 10.54 ±1.17 / 12.20 ms │     no change │
│ QQuery 2  │    79.64 / 81.16 ±1.50 / 83.21 ms │    81.94 / 84.93 ±3.28 / 89.49 ms │     no change │
│ QQuery 3  │    60.37 / 61.79 ±1.51 / 63.88 ms │    60.30 / 60.96 ±0.61 / 61.77 ms │     no change │
│ QQuery 4  │    14.46 / 15.02 ±0.73 / 16.05 ms │    14.75 / 15.67 ±1.10 / 17.21 ms │     no change │
│ QQuery 5  │    51.03 / 52.25 ±1.23 / 53.94 ms │    51.19 / 52.09 ±1.00 / 53.49 ms │     no change │
│ QQuery 6  │    46.35 / 47.77 ±1.67 / 50.12 ms │    47.05 / 47.88 ±0.59 / 48.30 ms │     no change │
│ QQuery 7  │    53.50 / 54.26 ±0.59 / 54.93 ms │    52.75 / 53.79 ±0.91 / 54.97 ms │     no change │
│ QQuery 8  │ 179.89 / 180.57 ±0.78 / 181.66 ms │    48.68 / 49.67 ±0.70 / 50.20 ms │ +3.64x faster │
│ QQuery 9  │ 131.04 / 133.04 ±1.92 / 135.63 ms │ 125.47 / 127.86 ±2.39 / 131.13 ms │     no change │
│ QQuery 10 │ 129.21 / 131.03 ±1.45 / 132.75 ms │ 123.87 / 124.96 ±1.18 / 126.60 ms │     no change │
└───────────┴───────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                     ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 767.15ms │
│ Total Time (window-topn-default-on)   │ 628.36ms │
│ Average Time (HEAD)                   │  76.71ms │
│ Average Time (window-topn-default-on) │  62.84ms │
│ Queries Faster                        │        1 │
│ Queries Slower                        │        0 │
│ Queries with No Change                │        9 │
│ Queries with Failure                  │        0 │
└───────────────────────────────────────┴──────────┘

Resource Usage

h2o_small_parquet — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.7 GiB
Avg memory 511.6 MiB
CPU user 10.6s
CPU sys 0.2s
Peak spill 0 B

h2o_small_parquet — branch

Metric Value
Wall time 5.0s
Peak memory 2.3 GiB
Avg memory 620.5 MiB
CPU user 10.3s
CPU sys 0.4s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.20 ms │                5.52 ms │  1.06x slower │
│ QQuery 2  │   79.26 ms │               80.04 ms │     no change │
│ QQuery 3  │   28.70 ms │               29.08 ms │     no change │
│ QQuery 4  │  438.07 ms │              459.11 ms │     no change │
│ QQuery 5  │   49.29 ms │               49.74 ms │     no change │
│ QQuery 6  │   34.62 ms │               34.90 ms │     no change │
│ QQuery 7  │   70.96 ms │               72.05 ms │     no change │
│ QQuery 8  │   35.74 ms │               36.40 ms │     no change │
│ QQuery 9  │   52.58 ms │               52.24 ms │     no change │
│ QQuery 10 │   59.78 ms │               60.18 ms │     no change │
│ QQuery 11 │  273.06 ms │              288.62 ms │  1.06x slower │
│ QQuery 12 │   28.28 ms │               28.76 ms │     no change │
│ QQuery 13 │  112.27 ms │              112.30 ms │     no change │
│ QQuery 14 │  378.31 ms │              378.07 ms │     no change │
│ QQuery 15 │   53.19 ms │               55.08 ms │     no change │
│ QQuery 16 │    5.89 ms │                6.17 ms │     no change │
│ QQuery 17 │   74.07 ms │               75.75 ms │     no change │
│ QQuery 18 │  102.43 ms │              104.14 ms │     no change │
│ QQuery 19 │   40.35 ms │               40.72 ms │     no change │
│ QQuery 20 │   34.84 ms │               35.24 ms │     no change │
│ QQuery 21 │   16.81 ms │               16.89 ms │     no change │
│ QQuery 22 │   64.43 ms │               65.69 ms │     no change │
│ QQuery 23 │  291.87 ms │              297.78 ms │     no change │
│ QQuery 24 │  194.74 ms │              197.69 ms │     no change │
│ QQuery 25 │  104.72 ms │              104.69 ms │     no change │
│ QQuery 26 │   45.52 ms │               45.98 ms │     no change │
│ QQuery 27 │    5.95 ms │                5.94 ms │     no change │
│ QQuery 28 │   57.20 ms │               57.83 ms │     no change │
│ QQuery 29 │   90.66 ms │               90.61 ms │     no change │
│ QQuery 30 │   32.24 ms │               32.99 ms │     no change │
│ QQuery 31 │  108.03 ms │              107.68 ms │     no change │
│ QQuery 32 │   20.19 ms │               20.34 ms │     no change │
│ QQuery 33 │   36.85 ms │               36.58 ms │     no change │
│ QQuery 34 │   10.21 ms │               10.01 ms │     no change │
│ QQuery 35 │   72.65 ms │               72.54 ms │     no change │
│ QQuery 36 │    5.80 ms │                5.67 ms │     no change │
│ QQuery 37 │    7.04 ms │                6.86 ms │     no change │
│ QQuery 38 │   60.96 ms │               61.70 ms │     no change │
│ QQuery 39 │   72.14 ms │               72.75 ms │     no change │
│ QQuery 40 │   23.59 ms │               23.81 ms │     no change │
│ QQuery 41 │   12.44 ms │               12.61 ms │     no change │
│ QQuery 42 │   23.94 ms │               24.29 ms │     no change │
│ QQuery 43 │    4.56 ms │                4.77 ms │     no change │
│ QQuery 44 │    8.58 ms │                8.64 ms │     no change │
│ QQuery 45 │   37.18 ms │               37.98 ms │     no change │
│ QQuery 46 │   11.81 ms │               11.43 ms │     no change │
│ QQuery 47 │  229.32 ms │              228.44 ms │     no change │
│ QQuery 48 │   91.62 ms │               91.27 ms │     no change │
│ QQuery 49 │   68.82 ms │               68.78 ms │     no change │
│ QQuery 50 │   56.16 ms │               56.26 ms │     no change │
│ QQuery 51 │   93.25 ms │               93.93 ms │     no change │
│ QQuery 52 │   24.13 ms │               23.77 ms │     no change │
│ QQuery 53 │   28.93 ms │               28.84 ms │     no change │
│ QQuery 54 │   53.40 ms │               53.20 ms │     no change │
│ QQuery 55 │   23.53 ms │               23.50 ms │     no change │
│ QQuery 56 │   37.75 ms │               37.48 ms │     no change │
│ QQuery 57 │  167.01 ms │              166.92 ms │     no change │
│ QQuery 58 │  108.58 ms │              107.08 ms │     no change │
│ QQuery 59 │  115.39 ms │              116.64 ms │     no change │
│ QQuery 60 │   38.57 ms │               38.02 ms │     no change │
│ QQuery 61 │   10.50 ms │                9.93 ms │ +1.06x faster │
│ QQuery 62 │   43.89 ms │               44.06 ms │     no change │
│ QQuery 63 │   29.26 ms │               29.27 ms │     no change │
│ QQuery 64 │  352.73 ms │              349.45 ms │     no change │
│ QQuery 65 │   73.14 ms │               74.64 ms │     no change │
│ QQuery 66 │   73.27 ms │               73.04 ms │     no change │
│ QQuery 67 │  246.95 ms │              227.54 ms │ +1.09x faster │
│ QQuery 68 │   11.64 ms │               11.80 ms │     no change │
│ QQuery 69 │   54.77 ms │               55.35 ms │     no change │
│ QQuery 70 │  102.23 ms │              103.95 ms │     no change │
│ QQuery 71 │   34.34 ms │               34.71 ms │     no change │
│ QQuery 72 │ 1599.92 ms │             1684.29 ms │  1.05x slower │
│ QQuery 73 │    9.47 ms │               10.05 ms │  1.06x slower │
│ QQuery 74 │  187.80 ms │              207.80 ms │  1.11x slower │
│ QQuery 75 │  136.83 ms │              138.56 ms │     no change │
│ QQuery 76 │   34.20 ms │               34.96 ms │     no change │
│ QQuery 77 │   59.44 ms │               60.46 ms │     no change │
│ QQuery 78 │  272.88 ms │              285.07 ms │     no change │
│ QQuery 79 │   66.52 ms │               66.95 ms │     no change │
│ QQuery 80 │   95.56 ms │               93.41 ms │     no change │
│ QQuery 81 │   26.34 ms │               25.90 ms │     no change │
│ QQuery 82 │   16.64 ms │               16.95 ms │     no change │
│ QQuery 83 │   32.70 ms │               32.39 ms │     no change │
│ QQuery 84 │   29.23 ms │               29.69 ms │     no change │
│ QQuery 85 │   97.23 ms │               97.85 ms │     no change │
│ QQuery 86 │   25.49 ms │               25.70 ms │     no change │
│ QQuery 87 │   61.80 ms │               64.13 ms │     no change │
│ QQuery 88 │   59.46 ms │               58.67 ms │     no change │
│ QQuery 89 │   35.00 ms │               35.18 ms │     no change │
│ QQuery 90 │   16.47 ms │               16.48 ms │     no change │
│ QQuery 91 │   41.23 ms │               41.65 ms │     no change │
│ QQuery 92 │   29.28 ms │               30.46 ms │     no change │
│ QQuery 93 │   48.62 ms │               49.65 ms │     no change │
│ QQuery 94 │   38.57 ms │               38.80 ms │     no change │
│ QQuery 95 │   80.78 ms │               80.27 ms │     no change │
│ QQuery 96 │   23.79 ms │               23.91 ms │     no change │
│ QQuery 97 │   50.03 ms │               51.09 ms │     no change │
│ QQuery 98 │   43.74 ms │               43.55 ms │     no change │
│ QQuery 99 │   65.20 ms │               65.68 ms │     no change │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 8830.43ms │
│ Total Time (window-topn-default-on)   │ 8995.30ms │
│ Average Time (HEAD)                   │   89.20ms │
│ Average Time (window-topn-default-on) │   90.86ms │
│ Queries Faster                        │         2 │
│ Queries Slower                        │         5 │
│ Queries with No Change                │        92 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.20 / 5.82 ±1.09 / 8.00 ms │           5.52 / 6.12 ±1.03 / 8.18 ms │  1.05x slower │
│ QQuery 2  │        79.26 / 79.52 ±0.31 / 80.14 ms │        80.04 / 80.24 ±0.20 / 80.50 ms │     no change │
│ QQuery 3  │        28.70 / 28.85 ±0.16 / 29.14 ms │        29.08 / 29.17 ±0.07 / 29.28 ms │     no change │
│ QQuery 4  │     438.07 / 444.98 ±6.07 / 455.32 ms │     459.11 / 470.15 ±9.53 / 486.75 ms │  1.06x slower │
│ QQuery 5  │        49.29 / 51.28 ±3.50 / 58.27 ms │        49.74 / 50.35 ±0.42 / 50.97 ms │     no change │
│ QQuery 6  │        34.62 / 34.94 ±0.26 / 35.25 ms │        34.90 / 35.20 ±0.24 / 35.52 ms │     no change │
│ QQuery 7  │        70.96 / 71.33 ±0.40 / 72.09 ms │        72.05 / 72.61 ±0.43 / 73.21 ms │     no change │
│ QQuery 8  │        35.74 / 36.14 ±0.22 / 36.39 ms │        36.40 / 36.70 ±0.21 / 36.95 ms │     no change │
│ QQuery 9  │        52.58 / 53.92 ±1.24 / 56.06 ms │        52.24 / 55.95 ±3.47 / 62.30 ms │     no change │
│ QQuery 10 │        59.78 / 60.04 ±0.33 / 60.65 ms │        60.18 / 60.86 ±0.37 / 61.30 ms │     no change │
│ QQuery 11 │     273.06 / 275.99 ±2.02 / 278.11 ms │     288.62 / 292.26 ±3.18 / 296.84 ms │  1.06x slower │
│ QQuery 12 │        28.28 / 28.45 ±0.11 / 28.60 ms │        28.76 / 30.44 ±1.79 / 33.88 ms │  1.07x slower │
│ QQuery 13 │     112.27 / 113.30 ±1.18 / 115.48 ms │     112.30 / 112.98 ±0.71 / 114.33 ms │     no change │
│ QQuery 14 │     378.31 / 380.18 ±1.42 / 382.19 ms │     378.07 / 381.49 ±2.53 / 385.12 ms │     no change │
│ QQuery 15 │        53.19 / 54.67 ±2.01 / 58.51 ms │        55.08 / 56.15 ±0.61 / 56.83 ms │     no change │
│ QQuery 16 │           5.89 / 6.07 ±0.17 / 6.38 ms │           6.17 / 6.33 ±0.15 / 6.61 ms │     no change │
│ QQuery 17 │        74.07 / 75.08 ±0.76 / 76.36 ms │        75.75 / 76.89 ±1.02 / 78.14 ms │     no change │
│ QQuery 18 │     102.43 / 105.49 ±3.77 / 112.88 ms │     104.14 / 105.62 ±1.01 / 107.28 ms │     no change │
│ QQuery 19 │        40.35 / 40.83 ±0.42 / 41.50 ms │        40.72 / 41.27 ±0.44 / 41.99 ms │     no change │
│ QQuery 20 │        34.84 / 35.56 ±0.42 / 36.07 ms │        35.24 / 36.46 ±1.16 / 38.26 ms │     no change │
│ QQuery 21 │        16.81 / 17.14 ±0.26 / 17.54 ms │        16.89 / 17.00 ±0.09 / 17.14 ms │     no change │
│ QQuery 22 │        64.43 / 65.02 ±0.63 / 66.22 ms │        65.69 / 66.03 ±0.26 / 66.32 ms │     no change │
│ QQuery 23 │     291.87 / 300.03 ±6.32 / 309.92 ms │     297.78 / 300.20 ±3.10 / 306.11 ms │     no change │
│ QQuery 24 │     194.74 / 197.35 ±1.61 / 199.73 ms │     197.69 / 199.75 ±1.83 / 202.18 ms │     no change │
│ QQuery 25 │     104.72 / 106.10 ±1.40 / 108.31 ms │     104.69 / 106.00 ±0.98 / 107.70 ms │     no change │
│ QQuery 26 │        45.52 / 47.49 ±3.33 / 54.13 ms │        45.98 / 46.24 ±0.18 / 46.51 ms │     no change │
│ QQuery 27 │           5.95 / 6.07 ±0.19 / 6.44 ms │           5.94 / 6.05 ±0.08 / 6.15 ms │     no change │
│ QQuery 28 │        57.20 / 60.84 ±2.15 / 63.92 ms │        57.83 / 61.37 ±1.92 / 63.34 ms │     no change │
│ QQuery 29 │        90.66 / 93.00 ±1.98 / 96.02 ms │        90.61 / 92.57 ±2.26 / 96.72 ms │     no change │
│ QQuery 30 │        32.24 / 32.56 ±0.22 / 32.93 ms │        32.99 / 33.65 ±0.64 / 34.77 ms │     no change │
│ QQuery 31 │     108.03 / 108.84 ±0.55 / 109.59 ms │     107.68 / 108.21 ±0.58 / 109.34 ms │     no change │
│ QQuery 32 │        20.19 / 20.40 ±0.15 / 20.55 ms │        20.34 / 20.45 ±0.08 / 20.60 ms │     no change │
│ QQuery 33 │        36.85 / 37.10 ±0.14 / 37.27 ms │        36.58 / 38.67 ±3.29 / 45.18 ms │     no change │
│ QQuery 34 │        10.21 / 10.47 ±0.38 / 11.21 ms │        10.01 / 10.68 ±0.52 / 11.43 ms │     no change │
│ QQuery 35 │        72.65 / 74.62 ±2.02 / 77.79 ms │        72.54 / 73.89 ±1.09 / 75.71 ms │     no change │
│ QQuery 36 │           5.80 / 5.92 ±0.18 / 6.28 ms │           5.67 / 5.87 ±0.27 / 6.39 ms │     no change │
│ QQuery 37 │           7.04 / 7.08 ±0.04 / 7.15 ms │           6.86 / 7.12 ±0.19 / 7.41 ms │     no change │
│ QQuery 38 │        60.96 / 61.89 ±0.80 / 63.26 ms │        61.70 / 62.42 ±0.66 / 63.28 ms │     no change │
│ QQuery 39 │        72.14 / 72.58 ±0.33 / 73.14 ms │        72.75 / 75.20 ±2.20 / 79.09 ms │     no change │
│ QQuery 40 │        23.59 / 26.43 ±4.27 / 34.90 ms │        23.81 / 24.57 ±0.68 / 25.66 ms │ +1.08x faster │
│ QQuery 41 │        12.44 / 12.57 ±0.08 / 12.66 ms │        12.61 / 12.72 ±0.10 / 12.82 ms │     no change │
│ QQuery 42 │        23.94 / 24.24 ±0.30 / 24.80 ms │        24.29 / 24.65 ±0.31 / 25.12 ms │     no change │
│ QQuery 43 │           4.56 / 4.66 ±0.18 / 5.03 ms │           4.77 / 4.89 ±0.18 / 5.24 ms │     no change │
│ QQuery 44 │           8.58 / 8.72 ±0.08 / 8.81 ms │           8.64 / 8.80 ±0.09 / 8.90 ms │     no change │
│ QQuery 45 │        37.18 / 38.22 ±0.97 / 40.06 ms │        37.98 / 38.63 ±0.54 / 39.39 ms │     no change │
│ QQuery 46 │        11.81 / 12.14 ±0.27 / 12.61 ms │        11.43 / 11.85 ±0.30 / 12.27 ms │     no change │
│ QQuery 47 │     229.32 / 232.00 ±2.00 / 234.88 ms │     228.44 / 232.81 ±2.89 / 237.54 ms │     no change │
│ QQuery 48 │        91.62 / 93.66 ±1.89 / 96.70 ms │        91.27 / 91.93 ±0.54 / 92.74 ms │     no change │
│ QQuery 49 │        68.82 / 69.54 ±0.69 / 70.50 ms │        68.78 / 69.63 ±0.71 / 70.63 ms │     no change │
│ QQuery 50 │        56.16 / 56.64 ±0.44 / 57.25 ms │        56.26 / 58.28 ±2.96 / 64.13 ms │     no change │
│ QQuery 51 │        93.25 / 96.14 ±2.06 / 97.98 ms │        93.93 / 95.41 ±1.72 / 98.72 ms │     no change │
│ QQuery 52 │        24.13 / 25.04 ±1.24 / 27.50 ms │        23.77 / 24.00 ±0.18 / 24.26 ms │     no change │
│ QQuery 53 │        28.93 / 29.37 ±0.43 / 30.11 ms │        28.84 / 29.02 ±0.14 / 29.24 ms │     no change │
│ QQuery 54 │        53.40 / 53.61 ±0.14 / 53.83 ms │        53.20 / 55.76 ±4.26 / 64.24 ms │     no change │
│ QQuery 55 │        23.53 / 23.85 ±0.24 / 24.16 ms │        23.50 / 23.83 ±0.28 / 24.29 ms │     no change │
│ QQuery 56 │        37.75 / 38.74 ±0.62 / 39.57 ms │        37.48 / 37.98 ±0.38 / 38.66 ms │     no change │
│ QQuery 57 │     167.01 / 169.24 ±1.88 / 172.02 ms │     166.92 / 169.50 ±2.35 / 173.35 ms │     no change │
│ QQuery 58 │     108.58 / 109.76 ±0.89 / 110.75 ms │     107.08 / 108.49 ±0.98 / 109.66 ms │     no change │
│ QQuery 59 │     115.39 / 117.01 ±2.17 / 121.01 ms │     116.64 / 118.27 ±2.16 / 122.32 ms │     no change │
│ QQuery 60 │        38.57 / 39.79 ±1.20 / 41.52 ms │        38.02 / 38.74 ±0.52 / 39.57 ms │     no change │
│ QQuery 61 │        10.50 / 10.66 ±0.14 / 10.88 ms │         9.93 / 10.11 ±0.22 / 10.55 ms │ +1.05x faster │
│ QQuery 62 │        43.89 / 44.57 ±1.02 / 46.60 ms │        44.06 / 44.49 ±0.52 / 45.49 ms │     no change │
│ QQuery 63 │        29.26 / 29.57 ±0.21 / 29.92 ms │        29.27 / 30.98 ±2.52 / 35.95 ms │     no change │
│ QQuery 64 │     352.73 / 359.14 ±4.17 / 363.79 ms │     349.45 / 352.57 ±2.40 / 355.79 ms │     no change │
│ QQuery 65 │        73.14 / 74.27 ±0.76 / 75.15 ms │        74.64 / 77.83 ±4.16 / 86.06 ms │     no change │
│ QQuery 66 │        73.27 / 75.85 ±4.44 / 84.70 ms │        73.04 / 73.71 ±0.45 / 74.23 ms │     no change │
│ QQuery 67 │     246.95 / 249.89 ±3.70 / 256.27 ms │     227.54 / 229.90 ±2.41 / 233.60 ms │ +1.09x faster │
│ QQuery 68 │        11.64 / 11.90 ±0.28 / 12.44 ms │        11.80 / 12.02 ±0.14 / 12.23 ms │     no change │
│ QQuery 69 │        54.77 / 55.09 ±0.19 / 55.26 ms │        55.35 / 57.72 ±3.61 / 64.90 ms │     no change │
│ QQuery 70 │     102.23 / 105.18 ±3.51 / 111.78 ms │     103.95 / 105.13 ±0.93 / 106.28 ms │     no change │
│ QQuery 71 │        34.34 / 35.55 ±1.56 / 38.62 ms │        34.71 / 35.12 ±0.32 / 35.50 ms │     no change │
│ QQuery 72 │ 1599.92 / 1668.96 ±47.13 / 1716.11 ms │ 1684.29 / 1733.49 ±45.16 / 1814.09 ms │     no change │
│ QQuery 73 │          9.47 / 9.83 ±0.31 / 10.23 ms │        10.05 / 10.32 ±0.32 / 10.82 ms │  1.05x slower │
│ QQuery 74 │     187.80 / 191.41 ±3.12 / 197.12 ms │     207.80 / 210.25 ±2.61 / 215.00 ms │  1.10x slower │
│ QQuery 75 │     136.83 / 138.84 ±2.08 / 142.71 ms │     138.56 / 141.50 ±3.71 / 148.75 ms │     no change │
│ QQuery 76 │        34.20 / 34.46 ±0.18 / 34.73 ms │        34.96 / 35.14 ±0.12 / 35.27 ms │     no change │
│ QQuery 77 │        59.44 / 62.90 ±5.95 / 74.78 ms │        60.46 / 61.32 ±1.42 / 64.15 ms │     no change │
│ QQuery 78 │    272.88 / 288.52 ±14.48 / 310.73 ms │     285.07 / 294.53 ±9.05 / 309.00 ms │     no change │
│ QQuery 79 │        66.52 / 67.00 ±0.33 / 67.41 ms │        66.95 / 67.33 ±0.30 / 67.79 ms │     no change │
│ QQuery 80 │       95.56 / 98.93 ±4.57 / 107.61 ms │        93.41 / 96.04 ±2.16 / 99.93 ms │     no change │
│ QQuery 81 │        26.34 / 27.14 ±1.32 / 29.77 ms │        25.90 / 27.83 ±3.72 / 35.27 ms │     no change │
│ QQuery 82 │        16.64 / 17.71 ±1.47 / 20.58 ms │        16.95 / 17.28 ±0.28 / 17.78 ms │     no change │
│ QQuery 83 │        32.70 / 33.14 ±0.33 / 33.67 ms │        32.39 / 32.76 ±0.33 / 33.24 ms │     no change │
│ QQuery 84 │        29.23 / 29.51 ±0.18 / 29.78 ms │        29.69 / 30.84 ±1.04 / 32.72 ms │     no change │
│ QQuery 85 │      97.23 / 100.17 ±4.35 / 108.83 ms │        97.85 / 98.29 ±0.43 / 98.90 ms │     no change │
│ QQuery 86 │        25.49 / 26.44 ±1.19 / 28.53 ms │        25.70 / 28.06 ±3.92 / 35.88 ms │  1.06x slower │
│ QQuery 87 │        61.80 / 63.15 ±0.84 / 64.19 ms │        64.13 / 64.94 ±0.82 / 66.36 ms │     no change │
│ QQuery 88 │        59.46 / 61.12 ±2.53 / 66.15 ms │        58.67 / 59.47 ±0.60 / 60.28 ms │     no change │
│ QQuery 89 │        35.00 / 35.37 ±0.28 / 35.70 ms │        35.18 / 35.62 ±0.34 / 36.16 ms │     no change │
│ QQuery 90 │        16.47 / 16.58 ±0.10 / 16.72 ms │        16.48 / 16.64 ±0.13 / 16.87 ms │     no change │
│ QQuery 91 │        41.23 / 41.72 ±0.48 / 42.51 ms │        41.65 / 44.03 ±3.92 / 51.82 ms │  1.06x slower │
│ QQuery 92 │        29.28 / 29.69 ±0.26 / 30.05 ms │        30.46 / 30.98 ±0.45 / 31.64 ms │     no change │
│ QQuery 93 │        48.62 / 50.04 ±0.75 / 50.73 ms │        49.65 / 50.56 ±1.06 / 52.54 ms │     no change │
│ QQuery 94 │        38.57 / 39.95 ±1.76 / 43.32 ms │        38.80 / 39.23 ±0.34 / 39.81 ms │     no change │
│ QQuery 95 │        80.78 / 81.38 ±0.49 / 82.09 ms │        80.27 / 82.35 ±2.22 / 86.63 ms │     no change │
│ QQuery 96 │        23.79 / 23.97 ±0.10 / 24.10 ms │        23.91 / 24.07 ±0.12 / 24.24 ms │     no change │
│ QQuery 97 │        50.03 / 51.35 ±1.04 / 53.16 ms │        51.09 / 53.00 ±1.76 / 55.88 ms │     no change │
│ QQuery 98 │        43.74 / 45.79 ±3.42 / 52.60 ms │        43.55 / 44.46 ±0.70 / 45.57 ms │     no change │
│ QQuery 99 │        65.20 / 65.48 ±0.20 / 65.74 ms │        65.68 / 68.03 ±3.53 / 75.04 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 9040.46ms │
│ Total Time (window-topn-default-on)   │ 9176.30ms │
│ Average Time (HEAD)                   │   91.32ms │
│ Average Time (window-topn-default-on) │   92.69ms │
│ Queries Faster                        │         3 │
│ Queries Slower                        │         8 │
│ Queries with No Change                │        88 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.3 GiB
CPU user 189.2s
CPU sys 5.9s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.2 GiB
Avg memory 1.4 GiB
CPU user 193.1s
CPU sys 5.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   73.41 ms │               69.03 ms │ +1.06x faster │
│ QQuery 2  │  942.62 ms │              976.65 ms │     no change │
│ QQuery 3  │  637.43 ms │              641.35 ms │     no change │
│ QQuery 4  │  123.90 ms │              116.41 ms │ +1.06x faster │
│ QQuery 5  │  585.99 ms │              582.53 ms │     no change │
│ QQuery 6  │  366.35 ms │              377.31 ms │     no change │
│ QQuery 7  │  551.82 ms │              541.44 ms │     no change │
│ QQuery 8  │ 2279.13 ms │             1343.18 ms │ +1.70x faster │
│ QQuery 9  │ 1477.23 ms │             1504.28 ms │     no change │
│ QQuery 10 │ 1568.29 ms │             1572.65 ms │     no change │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 8606.18ms │
│ Total Time (window-topn-default-on)   │ 7724.85ms │
│ Average Time (HEAD)                   │  860.62ms │
│ Average Time (window-topn-default-on) │  772.48ms │
│ Queries Faster                        │         3 │
│ Queries Slower                        │         0 │
│ Queries with No Change                │         7 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        73.41 / 76.29 ±2.15 / 78.60 ms │        69.03 / 73.74 ±3.60 / 77.79 ms │     no change │
│ QQuery 2  │     942.62 / 951.68 ±6.41 / 956.25 ms │     976.65 / 978.32 ±1.20 / 979.37 ms │     no change │
│ QQuery 3  │    637.43 / 653.29 ±13.67 / 670.80 ms │     641.35 / 649.75 ±6.49 / 657.16 ms │     no change │
│ QQuery 4  │     123.90 / 125.25 ±1.03 / 126.41 ms │     116.41 / 121.11 ±3.93 / 126.04 ms │     no change │
│ QQuery 5  │     585.99 / 591.61 ±4.39 / 596.71 ms │     582.53 / 588.12 ±5.11 / 594.88 ms │     no change │
│ QQuery 6  │    366.35 / 384.01 ±13.50 / 399.12 ms │    377.31 / 393.89 ±12.49 / 407.46 ms │     no change │
│ QQuery 7  │     551.82 / 559.11 ±5.50 / 565.10 ms │     541.44 / 548.30 ±4.96 / 552.97 ms │     no change │
│ QQuery 8  │  2279.13 / 2289.36 ±8.79 / 2300.60 ms │  1343.18 / 1354.81 ±8.28 / 1361.80 ms │ +1.69x faster │
│ QQuery 9  │ 1477.23 / 1515.91 ±36.93 / 1565.63 ms │ 1504.28 / 1521.75 ±13.31 / 1536.54 ms │     no change │
│ QQuery 10 │  1568.29 / 1572.49 ±2.99 / 1574.99 ms │ 1572.65 / 1609.14 ±47.57 / 1676.33 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 8718.99ms │
│ Total Time (window-topn-default-on)   │ 7838.93ms │
│ Average Time (HEAD)                   │  871.90ms │
│ Average Time (window-topn-default-on) │  783.89ms │
│ Queries Faster                        │         1 │
│ Queries Slower                        │         0 │
│ Queries with No Change                │         9 │
│ Queries with Failure                  │         0 │
└───────────────────────────────────────┴───────────┘

Resource Usage

h2o_medium_parquet — base (merge-base)

Metric Value
Wall time 30.0s
Peak memory 13.9 GiB
Avg memory 4.7 GiB
CPU user 273.5s
CPU sys 15.5s
Peak spill 0 B

h2o_medium_parquet — branch

Metric Value
Wall time 25.0s
Peak memory 14.3 GiB
Avg memory 5.1 GiB
CPU user 247.9s
CPU sys 15.6s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.24 ms │                1.23 ms │     no change │
│ QQuery 1  │   12.01 ms │               11.68 ms │     no change │
│ QQuery 2  │   35.40 ms │               35.07 ms │     no change │
│ QQuery 3  │   31.61 ms │               31.08 ms │     no change │
│ QQuery 4  │  255.93 ms │              252.82 ms │     no change │
│ QQuery 5  │  285.20 ms │              284.35 ms │     no change │
│ QQuery 6  │    1.26 ms │                1.22 ms │     no change │
│ QQuery 7  │   13.58 ms │               13.36 ms │     no change │
│ QQuery 8  │  356.80 ms │              348.39 ms │     no change │
│ QQuery 9  │  502.04 ms │              500.39 ms │     no change │
│ QQuery 10 │   67.62 ms │               66.11 ms │     no change │
│ QQuery 11 │   77.98 ms │               76.92 ms │     no change │
│ QQuery 12 │  273.58 ms │              272.80 ms │     no change │
│ QQuery 13 │  372.76 ms │              382.90 ms │     no change │
│ QQuery 14 │  285.11 ms │              293.20 ms │     no change │
│ QQuery 15 │  290.32 ms │              302.88 ms │     no change │
│ QQuery 16 │  626.15 ms │              641.85 ms │     no change │
│ QQuery 17 │  624.00 ms │              649.33 ms │     no change │
│ QQuery 18 │ 1224.96 ms │             1260.86 ms │     no change │
│ QQuery 19 │   27.68 ms │               29.58 ms │  1.07x slower │
│ QQuery 20 │  522.30 ms │              522.31 ms │     no change │
│ QQuery 21 │  518.18 ms │              516.55 ms │     no change │
│ QQuery 22 │  989.80 ms │              993.99 ms │     no change │
│ QQuery 23 │ 3073.01 ms │             3198.56 ms │     no change │
│ QQuery 24 │   40.89 ms │               41.67 ms │     no change │
│ QQuery 25 │  105.41 ms │              107.13 ms │     no change │
│ QQuery 26 │   41.10 ms │               42.34 ms │     no change │
│ QQuery 27 │  515.18 ms │              526.70 ms │     no change │
│ QQuery 28 │ 2909.87 ms │             2963.76 ms │     no change │
│ QQuery 29 │   38.85 ms │               38.72 ms │     no change │
│ QQuery 30 │  324.10 ms │              325.60 ms │     no change │
│ QQuery 31 │  285.14 ms │              291.40 ms │     no change │
│ QQuery 32 │  962.53 ms │             1030.31 ms │  1.07x slower │
│ QQuery 33 │ 1490.38 ms │             1508.62 ms │     no change │
│ QQuery 34 │ 1539.51 ms │             1559.74 ms │     no change │
│ QQuery 35 │  321.11 ms │              315.27 ms │     no change │
│ QQuery 36 │   68.95 ms │               73.94 ms │  1.07x slower │
│ QQuery 37 │   36.01 ms │               35.52 ms │     no change │
│ QQuery 38 │   41.89 ms │               40.84 ms │     no change │
│ QQuery 39 │  148.23 ms │              146.91 ms │     no change │
│ QQuery 40 │   14.41 ms │               13.91 ms │     no change │
│ QQuery 41 │   14.17 ms │               13.37 ms │ +1.06x faster │
│ QQuery 42 │   13.60 ms │               13.39 ms │     no change │
└───────────┴────────────┴────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 19379.84ms │
│ Total Time (window-topn-default-on)   │ 19776.57ms │
│ Average Time (HEAD)                   │   450.69ms │
│ Average Time (window-topn-default-on) │   459.92ms │
│ Queries Faster                        │          1 │
│ Queries Slower                        │          3 │
│ Queries with No Change                │         39 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                window-topn-default-on ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.24 / 1.92 ±1.17 / 4.24 ms │           1.23 / 1.89 ±1.15 / 4.19 ms │     no change │
│ QQuery 1  │        12.01 / 12.30 ±0.26 / 12.75 ms │        11.68 / 11.96 ±0.15 / 12.13 ms │     no change │
│ QQuery 2  │        35.40 / 35.91 ±0.64 / 37.09 ms │        35.07 / 35.35 ±0.31 / 35.92 ms │     no change │
│ QQuery 3  │        31.61 / 32.29 ±0.55 / 33.00 ms │        31.08 / 31.31 ±0.21 / 31.59 ms │     no change │
│ QQuery 4  │     255.93 / 263.22 ±4.54 / 268.75 ms │     252.82 / 256.55 ±1.98 / 258.14 ms │     no change │
│ QQuery 5  │     285.20 / 291.69 ±5.09 / 298.20 ms │     284.35 / 288.52 ±5.51 / 298.94 ms │     no change │
│ QQuery 6  │           1.26 / 1.46 ±0.24 / 1.93 ms │           1.22 / 1.38 ±0.24 / 1.85 ms │ +1.06x faster │
│ QQuery 7  │        13.58 / 13.96 ±0.21 / 14.13 ms │        13.36 / 13.62 ±0.16 / 13.81 ms │     no change │
│ QQuery 8  │     356.80 / 361.85 ±5.72 / 372.86 ms │     348.39 / 354.76 ±4.21 / 358.65 ms │     no change │
│ QQuery 9  │     502.04 / 507.31 ±5.75 / 517.41 ms │     500.39 / 510.15 ±7.80 / 521.44 ms │     no change │
│ QQuery 10 │        67.62 / 68.55 ±0.81 / 69.81 ms │        66.11 / 69.28 ±5.22 / 79.66 ms │     no change │
│ QQuery 11 │        77.98 / 79.10 ±0.80 / 79.98 ms │        76.92 / 78.51 ±1.15 / 80.26 ms │     no change │
│ QQuery 12 │    273.58 / 282.90 ±11.04 / 304.46 ms │     272.80 / 283.71 ±9.01 / 300.30 ms │     no change │
│ QQuery 13 │    372.76 / 382.86 ±13.14 / 408.77 ms │     382.90 / 391.47 ±7.49 / 402.44 ms │     no change │
│ QQuery 14 │     285.11 / 288.84 ±2.39 / 292.59 ms │     293.20 / 301.39 ±9.22 / 314.72 ms │     no change │
│ QQuery 15 │     290.32 / 298.19 ±8.96 / 315.13 ms │     302.88 / 307.07 ±4.48 / 313.82 ms │     no change │
│ QQuery 16 │    626.15 / 638.97 ±11.11 / 657.21 ms │     641.85 / 657.86 ±8.77 / 668.02 ms │     no change │
│ QQuery 17 │     624.00 / 636.41 ±6.97 / 645.13 ms │    649.33 / 667.17 ±14.03 / 692.58 ms │     no change │
│ QQuery 18 │ 1224.96 / 1254.42 ±20.07 / 1271.81 ms │ 1260.86 / 1309.30 ±37.88 / 1377.06 ms │     no change │
│ QQuery 19 │        27.68 / 28.25 ±0.55 / 29.21 ms │        29.58 / 30.70 ±0.65 / 31.55 ms │  1.09x slower │
│ QQuery 20 │     522.30 / 530.24 ±6.58 / 538.52 ms │    522.31 / 540.00 ±10.26 / 552.61 ms │     no change │
│ QQuery 21 │     518.18 / 522.57 ±4.36 / 530.63 ms │     516.55 / 524.02 ±9.11 / 541.41 ms │     no change │
│ QQuery 22 │  989.80 / 1009.05 ±14.67 / 1028.42 ms │  993.99 / 1004.43 ±10.70 / 1021.06 ms │     no change │
│ QQuery 23 │ 3073.01 / 3125.70 ±36.02 / 3176.35 ms │ 3198.56 / 3226.77 ±29.55 / 3277.40 ms │     no change │
│ QQuery 24 │        40.89 / 44.25 ±5.66 / 55.55 ms │        41.67 / 44.98 ±5.10 / 55.10 ms │     no change │
│ QQuery 25 │     105.41 / 106.71 ±0.94 / 107.85 ms │     107.13 / 109.10 ±1.47 / 111.15 ms │     no change │
│ QQuery 26 │        41.10 / 42.23 ±0.99 / 43.78 ms │        42.34 / 47.17 ±5.68 / 56.97 ms │  1.12x slower │
│ QQuery 27 │     515.18 / 523.55 ±5.79 / 530.54 ms │     526.70 / 530.82 ±2.76 / 533.46 ms │     no change │
│ QQuery 28 │ 2909.87 / 2950.05 ±26.62 / 2978.97 ms │ 2963.76 / 2990.28 ±24.43 / 3019.31 ms │     no change │
│ QQuery 29 │        38.85 / 39.68 ±1.35 / 42.37 ms │       38.72 / 45.57 ±12.99 / 71.55 ms │  1.15x slower │
│ QQuery 30 │    324.10 / 334.07 ±10.78 / 354.06 ms │     325.60 / 342.65 ±9.72 / 352.86 ms │     no change │
│ QQuery 31 │     285.14 / 295.74 ±6.20 / 304.31 ms │     291.40 / 303.74 ±6.45 / 309.35 ms │     no change │
│ QQuery 32 │   962.53 / 999.46 ±21.94 / 1029.25 ms │ 1030.31 / 1059.85 ±16.53 / 1073.93 ms │  1.06x slower │
│ QQuery 33 │ 1490.38 / 1527.40 ±38.12 / 1594.62 ms │ 1508.62 / 1608.35 ±75.12 / 1682.63 ms │  1.05x slower │
│ QQuery 34 │ 1539.51 / 1561.46 ±19.73 / 1591.54 ms │ 1559.74 / 1606.26 ±35.97 / 1662.95 ms │     no change │
│ QQuery 35 │    321.11 / 345.21 ±30.75 / 403.27 ms │    315.27 / 332.91 ±19.28 / 368.08 ms │     no change │
│ QQuery 36 │        68.95 / 75.32 ±4.16 / 79.52 ms │        73.94 / 76.45 ±2.66 / 81.54 ms │     no change │
│ QQuery 37 │        36.01 / 40.60 ±4.43 / 47.15 ms │        35.52 / 41.61 ±7.24 / 53.75 ms │     no change │
│ QQuery 38 │        41.89 / 48.49 ±8.25 / 63.43 ms │        40.84 / 43.74 ±2.87 / 48.45 ms │ +1.11x faster │
│ QQuery 39 │     148.23 / 157.50 ±5.69 / 166.07 ms │     146.91 / 156.37 ±7.39 / 167.12 ms │     no change │
│ QQuery 40 │        14.41 / 17.01 ±3.75 / 24.35 ms │        13.91 / 14.25 ±0.30 / 14.78 ms │ +1.19x faster │
│ QQuery 41 │        14.17 / 14.29 ±0.17 / 14.60 ms │        13.37 / 16.18 ±5.49 / 27.15 ms │  1.13x slower │
│ QQuery 42 │        13.60 / 15.42 ±2.94 / 21.29 ms │        13.39 / 13.44 ±0.06 / 13.55 ms │ +1.15x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 19806.38ms │
│ Total Time (window-topn-default-on)   │ 20280.89ms │
│ Average Time (HEAD)                   │   460.61ms │
│ Average Time (window-topn-default-on) │   471.65ms │
│ Queries Faster                        │          4 │
│ Queries Slower                        │          6 │
│ Queries with No Change                │         33 │
│ Queries with Failure                  │          0 │
└───────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.3 GiB
Avg memory 4.7 GiB
CPU user 1010.2s
CPU sys 74.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 11.2 GiB
Avg memory 4.3 GiB
CPU user 1029.0s
CPU sys 78.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing window-topn-default-on (29ee2ad) to 4bf32cb (merge-base) diff

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o_window.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃         HEAD ┃ window-topn-default-on ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │    421.60 ms │              400.70 ms │      no change │
│ QQuery 2  │  16629.82 ms │            16573.05 ms │      no change │
│ QQuery 3  │  26934.46 ms │            24402.84 ms │  +1.10x faster │
│ QQuery 4  │   3580.07 ms │             3652.99 ms │      no change │
│ QQuery 5  │   6453.31 ms │             6487.02 ms │      no change │
│ QQuery 6  │  29303.53 ms │            29407.87 ms │      no change │
│ QQuery 7  │  25886.56 ms │            25799.41 ms │      no change │
│ QQuery 8  │ 141316.08 ms │           140868.99 ms │      no change │
│ QQuery 9  │   2834.76 ms │             2881.79 ms │      no change │
│ QQuery 10 │   4707.02 ms │             4845.04 ms │      no change │
│ QQuery 11 │   4590.78 ms │             4591.79 ms │      no change │
│ QQuery 12 │  10022.17 ms │            10158.30 ms │      no change │
│ QQuery 13 │   2373.60 ms │              431.15 ms │  +5.51x faster │
│ QQuery 14 │   3992.75 ms │              326.13 ms │ +12.24x faster │
│ QQuery 15 │   3218.35 ms │              339.48 ms │  +9.48x faster │
│ QQuery 16 │   2783.26 ms │              354.78 ms │  +7.85x faster │
│ QQuery 17 │   2510.44 ms │              548.12 ms │  +4.58x faster │
│ QQuery 18 │   4472.37 ms │              333.60 ms │ +13.41x faster │
│ QQuery 19 │   3444.68 ms │              334.46 ms │ +10.30x faster │
│ QQuery 20 │   3760.01 ms │              421.75 ms │  +8.92x faster │
│ QQuery 21 │   2774.10 ms │              482.62 ms │  +5.75x faster │
│ QQuery 22 │   3072.61 ms │              579.08 ms │  +5.31x faster │
│ QQuery 23 │   2936.42 ms │              576.07 ms │  +5.10x faster │
│ QQuery 24 │   4481.00 ms │              336.82 ms │ +13.30x faster │
│ QQuery 25 │   3447.71 ms │              356.02 ms │  +9.68x faster │
│ QQuery 26 │   3743.85 ms │              436.34 ms │  +8.58x faster │
│ QQuery 27 │   2776.20 ms │             1478.08 ms │  +1.88x faster │
│ QQuery 28 │   2967.21 ms │             1628.93 ms │  +1.82x faster │
│ QQuery 29 │   2957.30 ms │             1634.65 ms │  +1.81x faster │
└───────────┴──────────────┴────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 328392.04ms │
│ Total Time (window-topn-default-on)   │ 280667.88ms │
│ Average Time (HEAD)                   │  11323.86ms │
│ Average Time (window-topn-default-on) │   9678.20ms │
│ Queries Faster                        │          18 │
│ Queries Slower                        │           0 │
│ Queries with No Change                │          11 │
│ Queries with Failure                  │           0 │
└───────────────────────────────────────┴─────────────┘

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

Comparing HEAD and window-topn-default-on
--------------------
Benchmark h2o_window.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                         HEAD ┃                       window-topn-default-on ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │           421.60 / 446.22 ±29.67 / 487.95 ms │           400.70 / 433.24 ±30.18 / 473.44 ms │      no change │
│ QQuery 2  │     16629.82 / 16662.72 ±42.93 / 16723.36 ms │     16573.05 / 16607.24 ±24.19 / 16625.46 ms │      no change │
│ QQuery 3  │    26934.46 / 27207.05 ±231.58 / 27500.57 ms │   24402.84 / 28221.23 ±2746.26 / 30745.12 ms │      no change │
│ QQuery 4  │        3580.07 / 3622.33 ±50.73 / 3693.68 ms │        3652.99 / 3684.79 ±27.78 / 3720.67 ms │      no change │
│ QQuery 5  │        6453.31 / 6529.86 ±54.81 / 6578.74 ms │        6487.02 / 6553.67 ±48.23 / 6599.55 ms │      no change │
│ QQuery 6  │     29303.53 / 29350.62 ±51.30 / 29421.95 ms │     29407.87 / 29455.34 ±63.02 / 29544.40 ms │      no change │
│ QQuery 7  │     25886.56 / 25960.23 ±83.73 / 26077.35 ms │      25799.41 / 25807.52 ±5.78 / 25812.42 ms │      no change │
│ QQuery 8  │ 141316.08 / 141630.58 ±223.71 / 141817.58 ms │ 140868.99 / 141618.90 ±537.21 / 142099.32 ms │      no change │
│ QQuery 9  │        2834.76 / 2939.98 ±79.61 / 3027.30 ms │       2881.79 / 3020.43 ±123.29 / 3181.31 ms │      no change │
│ QQuery 10 │        4707.02 / 4761.46 ±41.42 / 4807.41 ms │        4845.04 / 4856.10 ±10.58 / 4870.36 ms │      no change │
│ QQuery 11 │       4590.78 / 4715.10 ±110.99 / 4860.24 ms │        4591.79 / 4685.14 ±76.66 / 4779.54 ms │      no change │
│ QQuery 12 │     10022.17 / 10077.51 ±62.73 / 10165.23 ms │     10158.30 / 10290.23 ±95.20 / 10379.46 ms │      no change │
│ QQuery 13 │        2373.60 / 2395.13 ±15.27 / 2407.31 ms │           431.15 / 488.16 ±60.68 / 572.22 ms │  +4.91x faster │
│ QQuery 14 │        3992.75 / 4012.28 ±26.47 / 4049.70 ms │            326.13 / 333.58 ±5.27 / 337.59 ms │ +12.03x faster │
│ QQuery 15 │        3218.35 / 3275.83 ±41.36 / 3313.92 ms │            339.48 / 340.92 ±1.82 / 343.49 ms │  +9.61x faster │
│ QQuery 16 │         2783.26 / 2789.34 ±4.90 / 2795.27 ms │            354.78 / 359.06 ±3.70 / 363.79 ms │  +7.77x faster │
│ QQuery 17 │        2510.44 / 2534.84 ±28.62 / 2575.01 ms │            548.12 / 551.20 ±2.18 / 552.89 ms │  +4.60x faster │
│ QQuery 18 │        4472.37 / 4511.03 ±30.03 / 4545.58 ms │            333.60 / 336.75 ±3.53 / 341.68 ms │ +13.40x faster │
│ QQuery 19 │        3444.68 / 3473.48 ±23.04 / 3501.09 ms │            334.46 / 340.18 ±6.15 / 348.72 ms │ +10.21x faster │
│ QQuery 20 │        3760.01 / 3824.16 ±59.55 / 3903.49 ms │            421.75 / 425.62 ±4.11 / 431.32 ms │  +8.98x faster │
│ QQuery 21 │        2774.10 / 2835.35 ±64.63 / 2924.73 ms │            482.62 / 486.89 ±4.29 / 492.75 ms │  +5.82x faster │
│ QQuery 22 │        3072.61 / 3101.09 ±24.32 / 3132.04 ms │            579.08 / 583.34 ±4.49 / 589.54 ms │  +5.32x faster │
│ QQuery 23 │       2936.42 / 3084.21 ±140.08 / 3272.35 ms │           576.07 / 590.37 ±10.11 / 597.57 ms │  +5.22x faster │
│ QQuery 24 │       4481.00 / 4608.76 ±107.53 / 4744.07 ms │            336.82 / 339.91 ±2.31 / 342.36 ms │ +13.56x faster │
│ QQuery 25 │        3447.71 / 3472.43 ±17.63 / 3487.60 ms │            356.02 / 363.72 ±5.52 / 368.70 ms │  +9.55x faster │
│ QQuery 26 │        3743.85 / 3769.98 ±20.14 / 3792.87 ms │            436.34 / 444.72 ±6.77 / 452.93 ms │  +8.48x faster │
│ QQuery 27 │        2776.20 / 2802.84 ±26.27 / 2838.59 ms │        1478.08 / 1504.14 ±20.21 / 1527.32 ms │  +1.86x faster │
│ QQuery 28 │        2967.21 / 2994.26 ±24.38 / 3026.30 ms │        1628.93 / 1656.98 ±36.52 / 1708.56 ms │  +1.81x faster │
│ QQuery 29 │        2957.30 / 2987.20 ±40.01 / 3043.75 ms │         1634.65 / 1643.55 ±6.54 / 1650.18 ms │  +1.82x faster │
└───────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                     ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                     │ 330375.87ms │
│ Total Time (window-topn-default-on)   │ 286022.95ms │
│ Average Time (HEAD)                   │  11392.27ms │
│ Average Time (window-topn-default-on) │   9862.86ms │
│ Queries Faster                        │          17 │
│ Queries Slower                        │           0 │
│ Queries with No Change                │          12 │
│ Queries with Failure                  │           0 │
└───────────────────────────────────────┴─────────────┘

Resource Usage

h2o_medium_window_parquet — base (merge-base)

Metric Value
Wall time 995.2s
Peak memory 38.3 GiB
Avg memory 7.2 GiB
CPU user 4291.2s
CPU sys 167.1s
Peak spill 0 B

h2o_medium_window_parquet — branch

Metric Value
Wall time 860.2s
Peak memory 37.5 GiB
Avg memory 7.6 GiB
CPU user 3009.8s
CPU sys 125.1s
Peak spill 0 B

File an issue against this benchmark runner

@alamb alamb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

thank you so much for this work @SubhamSinghal -- this is great

I did a final test locally just to give it a try

CREATE EXTERNAL TABLE hits STORED AS PARQUET
LOCATION 'benchmarks/data/hits_partitioned';

Here is the query

SELECT count(*) FROM (
  SELECT "RegionID", "EventTime", "WatchID",
         ROW_NUMBER() OVER (PARTITION BY "RegionID" ORDER BY "EventTime" DESC) AS rn
  FROM hits
) WHERE rn <= 3;

Then enabled via

SET datafusion.optimizer.enable_window_topn = true;

On main (before this PR): Elapsed 3.671 seconds.
With the flag: Elapsed 0.246 seconds. 😎

And the explain plan shows

|               | ┌─────────────┴─────────────┐ |
|               | │    PartitionedTopKExec    │ |
|               | │    --------------------   │ |
|               | │           emit:           │ |
|               | │ [row_number() PARTITION BY│ |
|               | │  [hits.RegionID] ORDER BY │ |
|               | │    [hits.EventTime DESC   │ |
|               | │     NULLS FIRST] RANGE    │ |
|               | │      BETWEEN UNBOUNDED    │ |
|               | │        PRECEDING AND      │ |
|               | │        CURRENT ROW]       │ |
|               | │                           │ |
|               | │          fetch: 3         │ |
|               | │       fn: row_number      │ |
|               | │                           │ |
|               | │           order:          │ |
|               | │     [EventTime@0 DESC]    │ |
|               | │                           │ |
|               | │         partition:        │ |
|               | │        [RegionID@1]       │ |
|               | └─────────────┬─────────────┘ |

Also, it would be sweet if we got a writeup of this feature in time for datafusion-57

@alamb alamb added the performance Make DataFusion faster label Nov 11, 2026
@alamb
alamb added this pull request to the merge queue Nov 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 13, 2026
@alamb
alamb added this pull request to the merge queue Nov 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 13, 2026
@alamb
alamb enabled auto-merge November 13, 2026 21:05
@alamb
alamb added this pull request to the merge queue Nov 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 13, 2026
@alamb

alamb commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

@SubhamSinghal

Copy link
Copy Markdown
Contributor Author

Resolved build failure.

@alamb
alamb added this pull request to the merge queue Nov 14, 2026
Merged via the queue into apache:main with commit 4ca40d9 Nov 14, 2026
44 checks passed
@alamb

alamb commented Nov 14, 2026

Copy link
Copy Markdown
Contributor

Thank you @SubhamSinghal -- this is epic

@SubhamSinghal
SubhamSinghal deleted the window-topn-default-on branch November 14, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

common Related to common crate documentation Improvements or additions to documentation performance Make DataFusion faster sqllogictest SQL Logic Tests (.slt) v57.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable TopK per Partition (datafusion.optimizer.enable_window_topn) by default

3 participants