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

OpenJDK 64-Bit Server VM 17.0.16+8-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                      39333          39682         494         53.3          18.8       1.0X
agg w/o group wholestage on                        3383           3389           5        620.0           1.6      11.6X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                              4549           4569          27         23.0          43.4       1.0X
stddev wholestage on                                982            993           9        106.7           9.4       4.6X

OpenJDK 64-Bit Server VM 17.0.16+8-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                           20761          20856         134          5.1         198.0       1.0X
kurtosis wholestage on                             1003           1009           6        104.5           9.6      20.7X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                        6934           6980          65         12.1          82.7       1.0X
codegen = T, hashmap = F                           4343           4375          50         19.3          51.8       1.6X
codegen = T, row-based hashmap = T                 1224           1258          29         68.5          14.6       5.7X
codegen = T, vectorized hashmap = T                 855            868          13         98.1          10.2       8.1X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                        7847           7849           4         10.7          93.5       1.0X
codegen = T, hashmap = F                           5003           5021          22         16.8          59.6       1.6X
codegen = T, row-based hashmap = T                 1717           1725           5         48.8          20.5       4.6X
codegen = T, vectorized hashmap = T                1042           1065          25         80.5          12.4       7.5X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                        2548           2549           1          8.2         121.5       1.0X
codegen = T, hashmap = F                           1541           1551          13         13.6          73.5       1.7X
codegen = T, row-based hashmap = T                 1025           1028           2         20.5          48.9       2.5X
codegen = T, vectorized hashmap = T                 825            836           9         25.4          39.3       3.1X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                        2099           2152          75         10.0         100.1       1.0X
codegen = T, hashmap = F                           1347           1396          69         15.6          64.2       1.6X
codegen = T, row-based hashmap = T                  439            448          10         47.7          20.9       4.8X
codegen = T, vectorized hashmap = T                 325            330           5         64.6          15.5       6.5X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                        4063           4097          49          5.2         193.7       1.0X
codegen = T, hashmap = F                           2410           2461          71          8.7         114.9       1.7X
codegen = T, row-based hashmap = T                 1879           1962         118         11.2          89.6       2.2X
codegen = T, vectorized hashmap = T                1642           1660          26         12.8          78.3       2.5X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                         399            425          24          1.6         609.5       1.0X
codegen = T, hugeMethodLimit = 10000                147            165          14          4.5         224.4       2.7X
codegen = T, hugeMethodLimit = 1500                 144            153          11          4.6         219.0       2.8X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                2112           2130          26          2.5         402.8       1.0X
cube wholestage on                                 1177           1194          11          4.5         224.5       1.8X


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

OpenJDK 64-Bit Server VM 17.0.16+8-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                                       204            208           2        102.7           9.7       1.0X
murmur3 hash                                         68             70           0        306.5           3.3       3.0X
fast hash                                            61             71           3        341.1           2.9       3.3X
arrayEqual                                          150            151           1        139.4           7.2       1.4X
Java HashMap (Long)                                  66             71           4        317.3           3.2       3.1X
Java HashMap (two ints)                              90             94           2        233.6           4.3       2.3X
Java HashMap (UnsafeRow)                            580            582           2         36.2          27.6       0.4X
LongToUnsafeRowMap (opt=false)                      349            350           1         60.1          16.6       0.6X
LongToUnsafeRowMap (opt=true)                        80             82           1        263.3           3.8       2.6X
BytesToBytesMap (off Heap)                          630            634           4         33.3          30.0       0.3X
BytesToBytesMap (on Heap)                           615            619           4         34.1          29.3       0.3X
Aggregate HashMap                                    31             31           0        684.6           1.5       6.7X


