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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                      32497          34785        3237         64.5          15.5       1.0X
agg w/o group wholestage on                        1551           1559           5       1352.2           0.7      21.0X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                              3831           3849          25         27.4          36.5       1.0X
stddev wholestage on                                985            995          10        106.4           9.4       3.9X

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                           22096          22122          36          4.7         210.7       1.0X
kurtosis wholestage on                              999           1004           4        105.0           9.5      22.1X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                        6451           6510          84         13.0          76.9       1.0X
codegen = T, hashmap = F                           4012           4021          15         20.9          47.8       1.6X
codegen = T, row-based hashmap = T                 3989           4003          10         21.0          47.6       1.6X
codegen = T, vectorized hashmap = T                4045           4101          81         20.7          48.2       1.6X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                        7762           7801          55         10.8          92.5       1.0X
codegen = T, hashmap = F                           4762           4789          32         17.6          56.8       1.6X
codegen = T, row-based hashmap = T                 4781           4809          24         17.5          57.0       1.6X
codegen = T, vectorized hashmap = T                4702           4746          32         17.8          56.1       1.7X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                        2081           2094          18         10.1          99.2       1.0X
codegen = T, hashmap = F                           1461           1466           4         14.4          69.7       1.4X
codegen = T, row-based hashmap = T                 1466           1479          11         14.3          69.9       1.4X
codegen = T, vectorized hashmap = T                1451           1457           6         14.5          69.2       1.4X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                        2034           2035           2         10.3          97.0       1.0X
codegen = T, hashmap = F                           1308           1313           7         16.0          62.4       1.6X
codegen = T, row-based hashmap = T                 1294           1309          21         16.2          61.7       1.6X
codegen = T, vectorized hashmap = T                1319           1329          14         15.9          62.9       1.5X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                        4175           4186          16          5.0         199.1       1.0X
codegen = T, hashmap = F                           2299           2307          12          9.1         109.6       1.8X
codegen = T, row-based hashmap = T                 1723           1725           2         12.2          82.2       2.4X
codegen = T, vectorized hashmap = T                1448           1453           6         14.5          69.1       2.9X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                         365            386          17          1.8         556.8       1.0X
codegen = T, hugeMethodLimit = 10000                127            155          15          5.2         193.7       2.9X
codegen = T, hugeMethodLimit = 1500                 123            138          11          5.3         187.6       3.0X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-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                                2531           2550          27          2.1         482.8       1.0X
cube wholestage on                                 1022           1052          23          5.1         194.9       2.5X


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

OpenJDK 64-Bit Server VM 25.0.4+7-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
BytesToBytesMap:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
UnsafeRowhash                                       157            157           0        133.9           7.5       1.0X
murmur3 hash                                         54             55           1        385.1           2.6       2.9X
fast hash                                            24             24           0        881.1           1.1       6.6X
arrayEqual                                          137            137           0        153.0           6.5       1.1X
Java HashMap (Long)                                  58             70           8        358.6           2.8       2.7X
Java HashMap (two ints)                              75             80           4        279.4           3.6       2.1X
Java HashMap (UnsafeRow)                            533            535           1         39.3          25.4       0.3X
LongToUnsafeRowMap (opt=false)                      336            337           1         62.4          16.0       0.5X
LongToUnsafeRowMap (opt=true)                        70             70           1        301.6           3.3       2.3X
BytesToBytesMap (off Heap)                          450            452           2         46.6          21.5       0.3X
BytesToBytesMap (on Heap)                           452            455           4         46.4          21.6       0.3X
Aggregate HashMap                                    49             49           0        431.1           2.3       3.2X


