================================================================================================
aggregate without grouping
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
agg w/o group:                            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
agg w/o group wholestage off                      34322          35781        2063         61.1          16.4       1.0X
agg w/o group wholestage on                        3881           3884           2        540.4           1.9       8.8X


================================================================================================
stat functions
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
stddev:                                   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
stddev wholestage off                              3645           3648           4         28.8          34.8       1.0X
stddev wholestage on                               1092           1098           4         96.0          10.4       3.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
kurtosis:                                 Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
kurtosis wholestage off                           20255          20293          54          5.2         193.2       1.0X
kurtosis wholestage on                             1112           1122           6         94.3          10.6      18.2X


================================================================================================
aggregate with linear keys
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Aggregate w keys:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        6986           7075         125         12.0          83.3       1.0X
codegen = T, hashmap = F                           4643           4656          18         18.1          55.3       1.5X
codegen = T, row-based hashmap = T                 4636           4649          13         18.1          55.3       1.5X
codegen = T, vectorized hashmap = T                4685           4726          36         17.9          55.8       1.5X


================================================================================================
aggregate with randomized keys
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Aggregate w keys:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        7121           7145          34         11.8          84.9       1.0X
codegen = T, hashmap = F                           4569           4613          59         18.4          54.5       1.6X
codegen = T, row-based hashmap = T                 4567           4593          31         18.4          54.4       1.6X
codegen = T, vectorized hashmap = T                4576           4589          22         18.3          54.6       1.6X


================================================================================================
aggregate with string key
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Aggregate w string key:                   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        2360           2380          29          8.9         112.5       1.0X
codegen = T, hashmap = F                           1647           1653           9         12.7          78.5       1.4X
codegen = T, row-based hashmap = T                 1634           1653          34         12.8          77.9       1.4X
codegen = T, vectorized hashmap = T                1637           1640           2         12.8          78.1       1.4X


================================================================================================
aggregate with decimal key
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Aggregate w decimal key:                  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        2221           2267          64          9.4         105.9       1.0X
codegen = T, hashmap = F                           1488           1489           1         14.1          71.0       1.5X
codegen = T, row-based hashmap = T                 1506           1524          26         13.9          71.8       1.5X
codegen = T, vectorized hashmap = T                1470           1501          44         14.3          70.1       1.5X


================================================================================================
aggregate with multiple key types
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Aggregate w multiple keys:                Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        4212           4215           4          5.0         200.8       1.0X
codegen = T, hashmap = F                           2538           2571          47          8.3         121.0       1.7X
codegen = T, row-based hashmap = T                 1787           1791           6         11.7          85.2       2.4X
codegen = T, vectorized hashmap = T                1715           1732          25         12.2          81.8       2.5X


================================================================================================
max function bytecode size of wholestagecodegen
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
max function bytecode size:               Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                         345            358           8          1.9         525.9       1.0X
codegen = T, hugeMethodLimit = 10000                134            152          13          4.9         204.3       2.6X
codegen = T, hugeMethodLimit = 1500                 129            141          10          5.1         197.5       2.7X


================================================================================================
cube
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
cube:                                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
cube wholestage off                                2538           2552          20          2.1         484.0       1.0X
cube wholestage on                                 1182           1194          12          4.4         225.5       2.1X


================================================================================================
hash and BytesToBytesMap
================================================================================================

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
BytesToBytesMap:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
UnsafeRowhash                                       289            292           3         72.7          13.8       1.0X
murmur3 hash                                         76             76           1        277.5           3.6       3.8X
fast hash                                            47             47           2        450.6           2.2       6.2X
arrayEqual                                          178            179           1        117.5           8.5       1.6X
Java HashMap (Long)                                  65             69           4        323.5           3.1       4.5X
Java HashMap (two ints)                              86             89           3        244.6           4.1       3.4X
Java HashMap (UnsafeRow)                            570            573           3         36.8          27.2       0.5X
LongToUnsafeRowMap (opt=false)                      444            446           2         47.2          21.2       0.6X
LongToUnsafeRowMap (opt=true)                        92             96           5        227.2           4.4       3.1X
BytesToBytesMap (off Heap)                          535            550          10         39.2          25.5       0.5X
BytesToBytesMap (on Heap)                           527            529           2         39.8          25.1       0.5X
Aggregate HashMap                                    35             35           0        607.4           1.6       8.4X


