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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                      35386          35792         574         59.3          16.9       1.0X
agg w/o group wholestage on                        2850           2855           4        735.8           1.4      12.4X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                              4380           4400          27         23.9          41.8       1.0X
stddev wholestage on                                982            989           7        106.8           9.4       4.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                           21731          21746          20          4.8         207.2       1.0X
kurtosis wholestage on                              990            998           6        105.9           9.4      21.9X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                        6421           6468          66         13.1          76.5       1.0X
codegen = T, hashmap = F                           4050           4075          23         20.7          48.3       1.6X
codegen = T, row-based hashmap = T                 1229           1239          10         68.2          14.7       5.2X
codegen = T, vectorized hashmap = T                 812            824          12        103.3           9.7       7.9X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                        7268           7292          33         11.5          86.6       1.0X
codegen = T, hashmap = F                           4630           4645          18         18.1          55.2       1.6X
codegen = T, row-based hashmap = T                 1641           1645           5         51.1          19.6       4.4X
codegen = T, vectorized hashmap = T                1066           1115          73         78.7          12.7       6.8X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                        2524           2549          35          8.3         120.3       1.0X
codegen = T, hashmap = F                           1515           1540          41         13.8          72.2       1.7X
codegen = T, row-based hashmap = T                 1059           1068           6         19.8          50.5       2.4X
codegen = T, vectorized hashmap = T                 823            825           3         25.5          39.2       3.1X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                        2169           2174           6          9.7         103.4       1.0X
codegen = T, hashmap = F                           1349           1363          20         15.5          64.3       1.6X
codegen = T, row-based hashmap = T                  470            483           9         44.6          22.4       4.6X
codegen = T, vectorized hashmap = T                 313            317           2         67.0          14.9       6.9X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                        4283           4287           7          4.9         204.2       1.0X
codegen = T, hashmap = F                           2291           2301          13          9.2         109.3       1.9X
codegen = T, row-based hashmap = T                 1750           1756           7         12.0          83.5       2.4X
codegen = T, vectorized hashmap = T                1584           1595          15         13.2          75.6       2.7X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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            391          24          1.8         557.4       1.0X
codegen = T, hugeMethodLimit = 10000                141            155          13          4.6         215.6       2.6X
codegen = T, hugeMethodLimit = 1500                 134            146          20          4.9         205.0       2.7X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-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                                2067           2088          31          2.5         394.2       1.0X
cube wholestage on                                 1072           1084           9          4.9         204.4       1.9X


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

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
BytesToBytesMap:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
UnsafeRowhash                                       146            147           1        143.2           7.0       1.0X
murmur3 hash                                         54             54           0        390.8           2.6       2.7X
fast hash                                            24             24           0        882.6           1.1       6.2X
arrayEqual                                          137            137           0        153.1           6.5       1.1X
Java HashMap (Long)                                  62             65           3        335.8           3.0       2.3X
Java HashMap (two ints)                              86             90           4        242.5           4.1       1.7X
Java HashMap (UnsafeRow)                            509            511           4         41.2          24.3       0.3X
LongToUnsafeRowMap (opt=false)                      345            346           1         60.8          16.4       0.4X
LongToUnsafeRowMap (opt=true)                        85             86           1        246.3           4.1       1.7X
BytesToBytesMap (off Heap)                          437            439           1         48.0          20.8       0.3X
BytesToBytesMap (on Heap)                           437            438           1         48.0          20.8       0.3X
Aggregate HashMap                                    30             31           1        690.8           1.4       4.8X


