adriangbot commented on PR #27340: URL: https://github.com/apache/datafusion/pull/27340#issuecomment-6808127789
π€ Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/27340#issuecomment-6807822034) **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) Comparing rich-T-kid/dictionary-join-translation (2dd3c413af404be0d7095ef272db4c18874047da) to 46c13984f7ea7925fb1c401be5a1cd56115fdca2 [diff](https://github.com/apache/datafusion/compare/46c13984f7ea7925fb1c401be5a1cd56115fdca2..2dd3c413af404be0d7095ef272db4c18874047da) <details><summary>Run configuration</summary> ```yaml run benchmark hj env: DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true" DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G" baseline: ref: "46c13984f7ea7925fb1c401be5a1cd56115fdca2" ``` </details> <details><summary>CPU Details (lscpu)</summary> ``` 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> <details><summary>Details</summary> <p> ``` Comparing HEAD and rich-T-kid_dictionary-join-translation -------------------- Benchmark hj.json -------------------- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ³βββββββββββββ³βββββββββββββββββββββββββββββββββββββββββ³ββββββββββββββββ β Query β HEAD β rich-T-kid_dictionary-join-translation β Change β β‘βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β QQuery 1_density=1_prob_hit=1_25*1.5M β 2.41 ms β 2.37 ms β no change β β QQuery 2_density=0.026_prob_hit=1_25*1.5M β 5.42 ms β 5.29 ms β no change β β QQuery 3_density=1_prob_hit=1_100K*60M β 88.28 ms β 87.04 ms β no change β β QQuery 4_density=1_prob_hit=0.1_100K*60M β 247.05 ms β 225.33 ms β +1.10x faster β β QQuery 5_density=0.75_prob_hit=1_100K*60M β 1006.31 ms β 966.35 ms β no change β β QQuery 6_density=0.75_prob_hit=0.1_100K*60M β 335.84 ms β 336.92 ms β no change β β QQuery 7_density=0.5_prob_hit=1_100K*60M β 1018.50 ms β 1017.95 ms β no change β β QQuery 8_density=0.5_prob_hit=0.1_100K*60M β 326.32 ms β 308.60 ms β +1.06x faster β β QQuery 9_density=0.2_prob_hit=1_100K*60M β 1042.83 ms β 991.42 ms β no change β β QQuery 10_density=0.2_prob_hit=0.1_100K*60M β 329.01 ms β 321.36 ms β no change β β QQuery 11_density=0.1_prob_hit=1_100K*60M β 1050.81 ms β 1016.01 ms β no change β β QQuery 12_density=0.1_prob_hit=0.1_100K*60M β 309.39 ms β 318.52 ms β no change β β QQuery 13_density=0.01_prob_hit=1_100K*60M β 1087.48 ms β 958.39 ms β +1.13x faster β β QQuery 14_density=0.01_prob_hit=0.1_100K*60M β 382.89 ms β 375.07 ms β no change β β QQuery 15_density=0.2_prob_hit=0.1_100K_(20%_dups)*60M β 331.79 ms β 320.02 ms β no change β β QQuery 16_density=1_prob_hit=1_25*1.5M_RightSemi β 2.93 ms β 3.03 ms β no change β β QQuery 17_density=1_prob_hit=1_100K*60M_RightSemi β 91.75 ms β 93.02 ms β no change β β QQuery 18_density=1_prob_hit=0.1_100K*60M_RightSemi β 113.24 ms β 110.87 ms β no change β β QQuery 19_density=1_prob_hit=1_25*1.5M_RightAnti β 2.25 ms β 2.15 ms β no change β β QQuery 20_density=1_prob_hit=1_100K*60M_RightAnti β 82.72 ms β 81.33 ms β no change β β QQuery 21_density=1_prob_hit=0.1_100K*60M_RightAnti β 124.60 ms β 118.57 ms β no change β β QQuery 22_density=1_prob_hit=0.01_100K_(fanout_100)*60M_RightSemi β 95.45 ms β 94.94 ms β no change β β QQuery 23_density=1_prob_hit=1_32K_(fanout~78)*2.3M_long_keys_count β 167.60 ms β 167.14 ms β no change β β QQuery 24_density=1_prob_hit=1_3K_(single_hot_bucket)*20K_long_keys_count β 540.69 ms β 537.76 ms β no change β β QQuery 25_density=1_prob_hit=1_20K_(fanout~78_multi_key)*240K_multi_key_count β 237.92 ms β 233.67 ms β no change β β QQuery 26_density=1_prob_hit=0.027_270K_dense_keys*15M β 61.77 ms β 61.95 ms β no change β β QQuery 27_density=0.027_prob_hit=0.027_270K_sparse_keys*15M β 77.68 ms β 77.93 ms β no change β β QQuery 28_density=1_prob_hit=1_32K_(dictionary_fanout~78)*2.3M_dictionary_keys_count β 201.20 ms β 155.42 ms β +1.29x faster β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ³ββββββββββββ β Benchmark Summary β β β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β Total Time (HEAD) β 9364.13ms β β Total Time (rich-T-kid_dictionary-join-translation) β 8988.41ms β β Average Time (HEAD) β 334.43ms β β Average Time (rich-T-kid_dictionary-join-translation) β 321.01ms β β Queries Faster β 4 β β Queries Slower β 0 β β Queries with No Change β 24 β β Queries with Failure β 0 β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββ Distribution per query (min / mean Β±stddev / max): Comparing HEAD and rich-T-kid_dictionary-join-translation -------------------- Benchmark hj.json -------------------- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ³ββββββββββββββββββββββββββββββββββββββββ³βββββββββββββββββββββββββββββββββββββββββ³ββββββββββββββββ β Query β HEAD β rich-T-kid_dictionary-join-translation β Change β β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β QQuery 1_density=1_prob_hit=1_25*1.5M β 2.41 / 2.84 Β±0.57 / 3.90 ms β 2.37 / 2.82 Β±0.80 / 4.41 ms β no change β β QQuery 2_density=0.026_prob_hit=1_25*1.5M β 5.42 / 5.77 Β±0.22 / 6.04 ms β 5.29 / 5.57 Β±0.20 / 5.81 ms β no change β β QQuery 3_density=1_prob_hit=1_100K*60M β 88.28 / 90.16 Β±1.33 / 92.18 ms β 87.04 / 88.03 Β±0.64 / 88.95 ms β no change β β QQuery 4_density=1_prob_hit=0.1_100K*60M β 247.05 / 259.12 Β±9.93 / 273.25 ms β 225.33 / 263.14 Β±43.39 / 345.41 ms β no change β β QQuery 5_density=0.75_prob_hit=1_100K*60M β 1006.31 / 1031.14 Β±21.36 / 1070.64 ms β 966.35 / 1018.79 Β±57.96 / 1131.73 ms β no change β β QQuery 6_density=0.75_prob_hit=0.1_100K*60M β 335.84 / 360.57 Β±27.82 / 402.03 ms β 336.92 / 372.07 Β±26.39 / 408.03 ms β no change β β QQuery 7_density=0.5_prob_hit=1_100K*60M β 1018.50 / 1036.38 Β±16.21 / 1056.32 ms β 1017.95 / 1045.72 Β±14.94 / 1058.47 ms β no change β β QQuery 8_density=0.5_prob_hit=0.1_100K*60M β 326.32 / 362.84 Β±28.89 / 411.36 ms β 308.60 / 351.30 Β±51.20 / 425.17 ms β no change β β QQuery 9_density=0.2_prob_hit=1_100K*60M β 1042.83 / 1083.38 Β±30.19 / 1134.77 ms β 991.42 / 1018.29 Β±29.11 / 1072.41 ms β +1.06x faster β β QQuery 10_density=0.2_prob_hit=0.1_100K*60M β 329.01 / 353.62 Β±32.38 / 417.70 ms β 321.36 / 341.91 Β±16.20 / 363.09 ms β no change β β QQuery 11_density=0.1_prob_hit=1_100K*60M β 1050.81 / 1090.97 Β±23.23 / 1112.23 ms β 1016.01 / 1047.23 Β±51.64 / 1150.12 ms β no change β β QQuery 12_density=0.1_prob_hit=0.1_100K*60M β 309.39 / 338.35 Β±24.29 / 383.06 ms β 318.52 / 350.24 Β±31.33 / 396.14 ms β no change β β QQuery 13_density=0.01_prob_hit=1_100K*60M β 1087.48 / 1112.25 Β±18.19 / 1135.47 ms β 958.39 / 1031.70 Β±47.99 / 1090.67 ms β +1.08x faster β β QQuery 14_density=0.01_prob_hit=0.1_100K*60M β 382.89 / 433.65 Β±49.89 / 525.52 ms β 375.07 / 406.19 Β±32.64 / 467.58 ms β +1.07x faster β β QQuery 15_density=0.2_prob_hit=0.1_100K_(20%_dups)*60M β 331.79 / 386.18 Β±59.47 / 460.96 ms β 320.02 / 356.32 Β±27.52 / 389.58 ms β +1.08x faster β β QQuery 16_density=1_prob_hit=1_25*1.5M_RightSemi β 2.93 / 3.13 Β±0.21 / 3.52 ms β 3.03 / 3.15 Β±0.11 / 3.35 ms β no change β β QQuery 17_density=1_prob_hit=1_100K*60M_RightSemi β 91.75 / 107.47 Β±26.31 / 159.93 ms β 93.02 / 117.27 Β±31.96 / 174.02 ms β 1.09x slower β β QQuery 18_density=1_prob_hit=0.1_100K*60M_RightSemi β 113.24 / 122.95 Β±18.03 / 158.99 ms β 110.87 / 112.43 Β±1.29 / 113.95 ms β +1.09x faster β β QQuery 19_density=1_prob_hit=1_25*1.5M_RightAnti β 2.25 / 2.44 Β±0.11 / 2.58 ms β 2.15 / 2.44 Β±0.19 / 2.68 ms β no change β β QQuery 20_density=1_prob_hit=1_100K*60M_RightAnti β 82.72 / 83.91 Β±0.89 / 85.07 ms β 81.33 / 82.77 Β±1.04 / 84.45 ms β no change β β QQuery 21_density=1_prob_hit=0.1_100K*60M_RightAnti β 124.60 / 126.12 Β±1.08 / 127.47 ms β 118.57 / 119.76 Β±0.96 / 121.52 ms β +1.05x faster β β QQuery 22_density=1_prob_hit=0.01_100K_(fanout_100)*60M_RightSemi β 95.45 / 98.21 Β±2.12 / 101.86 ms β 94.94 / 96.04 Β±0.71 / 96.82 ms β no change β β QQuery 23_density=1_prob_hit=1_32K_(fanout~78)*2.3M_long_keys_count β 167.60 / 168.81 Β±0.75 / 169.93 ms β 167.14 / 168.14 Β±0.73 / 169.18 ms β no change β β QQuery 24_density=1_prob_hit=1_3K_(single_hot_bucket)*20K_long_keys_count β 540.69 / 542.46 Β±1.51 / 545.27 ms β 537.76 / 538.99 Β±1.02 / 540.38 ms β no change β β QQuery 25_density=1_prob_hit=1_20K_(fanout~78_multi_key)*240K_multi_key_count β 237.92 / 238.77 Β±0.54 / 239.25 ms β 233.67 / 236.24 Β±1.39 / 237.29 ms β no change β β QQuery 26_density=1_prob_hit=0.027_270K_dense_keys*15M β 61.77 / 64.44 Β±1.64 / 66.95 ms β 61.95 / 63.76 Β±1.24 / 65.53 ms β no change β β QQuery 27_density=0.027_prob_hit=0.027_270K_sparse_keys*15M β 77.68 / 79.47 Β±1.22 / 81.40 ms β 77.93 / 80.81 Β±2.58 / 85.19 ms β no change β β QQuery 28_density=1_prob_hit=1_32K_(dictionary_fanout~78)*2.3M_dictionary_keys_count β 201.20 / 202.86 Β±1.88 / 206.43 ms β 155.42 / 158.91 Β±4.50 / 167.61 ms β +1.28x faster β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ³ββββββββββββ β Benchmark Summary β β β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β Total Time (HEAD) β 9788.24ms β β Total Time (rich-T-kid_dictionary-join-translation) β 9480.05ms β β Average Time (HEAD) β 349.58ms β β Average Time (rich-T-kid_dictionary-join-translation) β 338.57ms β β Queries Faster β 7 β β Queries Slower β 1 β β Queries with No Change β 20 β β Queries with Failure β 0 β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββ ``` </p> </details> <details><summary>Memory Pool Peaks</summary> Peak `MemoryPool` reservation per query β what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the `dfbench` suites, and the suites `bench.sh` runs through the Criterion SQL harness since apache/datafusion#25644), and only under a memory limit: `DATAFUSION_RUNTIME_MEMORY_LIMIT`, or one the suite sets itself. Base: `46c13984f7ea7925fb1c401be5a1cd56115fdca2` | Changed: `rich-T-kid/dictionary-join-translation` **`hj`** | Query | Base | Changed | Change | | --- | --- | --- | --- | | Query 1_density=1_prob_hit=1_25*1.5M | 400 B | 400 B | +0.0% | | Query 2_density=0.026_prob_hit=1_25*1.5M | 23.2 MiB | 23.2 MiB | +0.0% | | Query 3_density=1_prob_hit=1_100K*60M | 1.7 MiB | 1.7 MiB | +0.0% | | Query 4_density=1_prob_hit=0.1_100K*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 5_density=0.75_prob_hit=1_100K*60M | 915.8 MiB | 915.8 MiB | +0.0% | | Query 6_density=0.75_prob_hit=0.1_100K*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 7_density=0.5_prob_hit=1_100K*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 8_density=0.5_prob_hit=0.1_100K*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 9_density=0.2_prob_hit=1_100K*60M | 915.8 MiB | 915.8 MiB | +0.0% | | Query 10_density=0.2_prob_hit=0.1_100K*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 11_density=0.1_prob_hit=1_100K*60M | 915.8 MiB | 915.8 MiB | +0.0% | | Query 12_density=0.1_prob_hit=0.1_100K*60M | 915.8 MiB | 915.8 MiB | +0.0% | | Query 13_density=0.01_prob_hit=1_100K*60M | 1.1 GiB | 1.1 GiB | +0.0% | | Query 14_density=0.01_prob_hit=0.1_100K*60M | 1.6 GiB | 1.6 GiB | +0.0% | | Query 15_density=0.2_prob_hit=0.1_100K_(20%_dups)*60M | 915.7 MiB | 915.7 MiB | +0.0% | | Query 16_density=1_prob_hit=1_25*1.5M_RightSemi | 300 B | 300 B | +0.0% | | Query 17_density=1_prob_hit=1_100K*60M_RightSemi | 1.1 MiB | 1.1 MiB | +0.0% | | Query 18_density=1_prob_hit=0.1_100K*60M_RightSemi | 1.1 MiB | 1.1 MiB | +0.0% | | Query 19_density=1_prob_hit=1_25*1.5M_RightAnti | 300 B | 300 B | +0.0% | | Query 20_density=1_prob_hit=1_100K*60M_RightAnti | 1.1 MiB | 1.1 MiB | +0.0% | | Query 21_density=1_prob_hit=0.1_100K*60M_RightAnti | 1.1 MiB | 1.1 MiB | +0.0% | | Query 22_density=1_prob_hit=0.01_100K_(fanout_100)*60M_RightSemi | 785.2 KiB | 785.2 KiB | +0.0% | | Query 23_density=1_prob_hit=1_32K_(fanout~78)*2.3M_long_keys_count | 17.4 MiB | 17.5 MiB | +0.0% | | Query 24_density=1_prob_hit=1_3K_(single_hot_bucket)*20K_long_keys_count | 609.3 KiB | 609.3 KiB | +0.0% | | Query 25_density=1_prob_hit=1_20K_(fanout~78_multi_key)*240K_multi_key_count | 8.5 MiB | 8.5 MiB | -0.0% | | Query 26_density=1_prob_hit=0.027_270K_dense_keys*15M | 9.9 MiB | 10.1 MiB | +1.9% | | Query 27_density=0.027_prob_hit=0.027_270K_sparse_keys*15M | 21.7 MiB | 22.3 MiB | +2.6% | | Query 28_density=1_prob_hit=1_32K_(dictionary_fanout~78)*2.3M_dictionary_keys_count | 2.5 MiB | 2.4 MiB | -2.5% | **Pool accounting vs. process RSS** Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it. | Benchmark | Side | Max pool peak | Peak RSS | Gap | RSS / pool | | --- | --- | --- | --- | --- | --- | | hj | base (`46c13984f7ea7925fb1c401be5a1cd56115fdca2`) | 1.6 GiB | 2.4 GiB | 763.8 MiB | 1.5Γ | | hj | changed (`rich-T-kid/dictionary-join-translation`) | 1.6 GiB | 2.8 GiB | 1.2 GiB | 1.7Γ | </details> <details><summary>Resource Usage</summary> **hj β base (merge-base)** | Metric | Value | |--------|-------| | Wall time | 50.0s | | Peak memory | 2.4 GiB | | Avg memory | 1.2 GiB | | CPU user | 456.8s | | CPU sys | 19.8s | | Peak spill | 0 B | **hj β branch** | Metric | Value | |--------|-------| | Wall time | 50.0s | | Peak memory | 2.8 GiB | | Avg memory | 1.2 GiB | | CPU user | 442.8s | | CPU sys | 18.5s | | Peak spill | 0 B | </details> --- [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
