================================================================================================
Expand: varying number of COUNT(DISTINCT)
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
2 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 3)                      3357           3419          65          3.1         320.1       1.0X
with sum - optimized (ratio 3)                     3198           3216          17          3.3         305.0       1.0X
pure distinct - baseline (ratio 2)                 2144           2169          20          4.9         204.5       1.6X
pure distinct - optimized (ratio 2)                 572            579           7         18.3          54.6       5.9X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
4 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 5)                      6353           6375          21          1.7         605.8       1.0X
with sum - optimized (ratio 5)                     6369           6389          15          1.6         607.4       1.0X
pure distinct - baseline (ratio 4)                 4830           4851          26          2.2         460.7       1.3X
pure distinct - optimized (ratio 4)                 771            782           8         13.6          73.5       8.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
6 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 7)                     10074          10175         110          1.0         960.7       1.0X
with sum - optimized (ratio 7)                    10051          10076          30          1.0         958.5       1.0X
pure distinct - baseline (ratio 6)                 8075           8116          25          1.3         770.1       1.2X
pure distinct - optimized (ratio 6)                 842            853          12         12.5          80.3      12.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
8 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 9)                     14824          14887          43          0.7        1413.7       1.0X
with sum - optimized (ratio 9)                    14863          14943         100          0.7        1417.4       1.0X
pure distinct - baseline (ratio 8)                12539          12591          62          0.8        1195.8       1.2X
pure distinct - optimized (ratio 8)                1628           1673          50          6.4         155.3       9.1X


================================================================================================
Expand: varying data characteristics (pure distinct)
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
6 pure distinct aggs with varying data:   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
1K groups, moderate card - baseline                8135           8179          39          1.3         775.8       1.0X
1K groups, moderate card - optimized                839            863          24         12.5          80.0       9.7X
100K groups, moderate card - baseline             15077          15396         314          0.7        1437.9       0.5X
100K groups, moderate card - optimized             3984           4114          80          2.6         380.0       2.0X
1K groups, low card (5 vals) - baseline            7772           7821          42          1.3         741.2       1.0X
1K groups, low card (5 vals) - optimized            703            714          14         14.9          67.0      11.6X
no grouping key - baseline                         5642           5681          41          1.9         538.0       1.4X
no grouping key - optimized                         327            370          28         32.1          31.2      24.9X


