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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.17.0-1008-azure
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
2 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 3)                      3017           3070          49          3.5         287.8       1.0X
with sum - optimized (ratio 3)                     2932           2982          44          3.6         279.6       1.0X
pure distinct - baseline (ratio 2)                 1848           1902          52          5.7         176.2       1.6X
pure distinct - optimized (ratio 2)                 669            678           6         15.7          63.8       4.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.17.0-1008-azure
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
4 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 5)                      5480           5526          37          1.9         522.6       1.0X
with sum - optimized (ratio 5)                     5395           5484          81          1.9         514.5       1.0X
pure distinct - baseline (ratio 4)                 4040           4144          79          2.6         385.3       1.4X
pure distinct - optimized (ratio 4)                 826            861          31         12.7          78.8       6.6X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.17.0-1008-azure
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
6 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 7)                      8417           8451          21          1.2         802.7       1.0X
with sum - optimized (ratio 7)                     8369           8428          38          1.3         798.1       1.0X
pure distinct - baseline (ratio 6)                 6586           6618          32          1.6         628.1       1.3X
pure distinct - optimized (ratio 6)                 841            875          32         12.5          80.2      10.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.17.0-1008-azure
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
8 distinct aggregates:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
with sum - baseline (ratio 9)                     12404          12546         147          0.8        1182.9       1.0X
with sum - optimized (ratio 9)                    12481          12552          90          0.8        1190.3       1.0X
pure distinct - baseline (ratio 8)                10836          10950          68          1.0        1033.4       1.1X
pure distinct - optimized (ratio 8)                1774           1965         145          5.9         169.2       7.0X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.17.0-1008-azure
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
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                6537           6561          24          1.6         623.4       1.0X
1K groups, moderate card - optimized                963            984          21         10.9          91.8       6.8X
100K groups, moderate card - baseline             13314          13441         143          0.8        1269.7       0.5X
100K groups, moderate card - optimized             4020           4144         145          2.6         383.4       1.6X
1K groups, low card (5 vals) - baseline            6387           6415          29          1.6         609.1       1.0X
1K groups, low card (5 vals) - optimized            815            829          11         12.9          77.7       8.0X
no grouping key - baseline                         4072           4141          55          2.6         388.4       1.6X
no grouping key - optimized                         339            353          19         31.0          32.3      19.3X


