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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-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                      35269          35854         827         59.5          16.8       1.0X
agg w/o group wholestage on                        2853           2864          11        735.1           1.4      12.4X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
stddev:                                   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
stddev wholestage off                              4378           4393          21         24.0          41.8       1.0X
stddev wholestage on                                979            990           9        107.1           9.3       4.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
kurtosis:                                 Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
kurtosis wholestage off                           23326          23329           4          4.5         222.5       1.0X
kurtosis wholestage on                             1001           1004           3        104.8           9.5      23.3X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
Aggregate w keys:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        6997           7090         131         12.0          83.4       1.0X
codegen = T, hashmap = F                           4008           4033          28         20.9          47.8       1.7X
codegen = T, row-based hashmap = T                 1233           1248          14         68.0          14.7       5.7X
codegen = T, vectorized hashmap = T                 912            920           8         92.0          10.9       7.7X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
Aggregate w keys:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        7603           7622          26         11.0          90.6       1.0X
codegen = T, hashmap = F                           4617           4629          12         18.2          55.0       1.6X
codegen = T, row-based hashmap = T                 1690           1695           4         49.6          20.1       4.5X
codegen = T, vectorized hashmap = T                1097           1123          30         76.4          13.1       6.9X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
Aggregate w string key:                   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        2505           2512          10          8.4         119.4       1.0X
codegen = T, hashmap = F                           1548           1564          18         13.5          73.8       1.6X
codegen = T, row-based hashmap = T                 1039           1048           9         20.2          49.5       2.4X
codegen = T, vectorized hashmap = T                 837            843           6         25.1          39.9       3.0X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
Aggregate w decimal key:                  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        2142           2143           1          9.8         102.1       1.0X
codegen = T, hashmap = F                           1359           1378          27         15.4          64.8       1.6X
codegen = T, row-based hashmap = T                  456            481          16         46.0          21.7       4.7X
codegen = T, vectorized hashmap = T                 339            352           7         61.9          16.2       6.3X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
Aggregate w multiple keys:                Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                        4116           4120           5          5.1         196.3       1.0X
codegen = T, hashmap = F                           2363           2385          30          8.9         112.7       1.7X
codegen = T, row-based hashmap = T                 1816           1828          17         11.5          86.6       2.3X
codegen = T, vectorized hashmap = T                1599           1612          19         13.1          76.2       2.6X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
max function bytecode size:               Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
codegen = F                                         355            381          15          1.8         542.3       1.0X
codegen = T, hugeMethodLimit = 10000                142            168          21          4.6         216.8       2.5X
codegen = T, hugeMethodLimit = 1500                 136            146          13          4.8         207.0       2.6X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
cube:                                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
cube wholestage off                                1981           1998          25          2.6         377.8       1.0X
cube wholestage on                                 1100           1105           5          4.8         209.7       1.8X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-azure
AMD EPYC 7763 64-Core Processor
BytesToBytesMap:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
UnsafeRowhash                                       147            147           1        143.1           7.0       1.0X
murmur3 hash                                         54             54           0        390.7           2.6       2.7X
fast hash                                            24             24           0        882.3           1.1       6.2X
arrayEqual                                          137            137           0        153.1           6.5       1.1X
Java HashMap (Long)                                  74             77           3        282.0           3.5       2.0X
Java HashMap (two ints)                              88             91           2        239.3           4.2       1.7X
Java HashMap (UnsafeRow)                            514            515           2         40.8          24.5       0.3X
LongToUnsafeRowMap (opt=false)                      423            426           2         49.6          20.2       0.3X
LongToUnsafeRowMap (opt=true)                        73             74           1        288.0           3.5       2.0X
BytesToBytesMap (off Heap)                          448            451           5         46.8          21.4       0.3X
BytesToBytesMap (on Heap)                           449            452           3         46.7          21.4       0.3X
Aggregate HashMap                                    31             31           0        687.5           1.5       4.8X


