================================================================================================
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                      35454          35930         673         59.2          16.9       1.0X
agg w/o group wholestage on                        2854           2865          10        734.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                              4419           4425           8         23.7          42.1       1.0X
stddev wholestage on                                986            994           9        106.4           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                           21094          21148          77          5.0         201.2       1.0X
kurtosis wholestage on                              998           1002           3        105.1           9.5      21.1X


================================================================================================
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                                        6809           6870          86         12.3          81.2       1.0X
codegen = T, hashmap = F                           4175           4395         256         20.1          49.8       1.6X
codegen = T, row-based hashmap = T                 1229           1242          12         68.3          14.6       5.5X
codegen = T, vectorized hashmap = T                 811            822          14        103.4           9.7       8.4X


================================================================================================
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                                        7324           7384          85         11.5          87.3       1.0X
codegen = T, hashmap = F                           4645           4672          28         18.1          55.4       1.6X
codegen = T, row-based hashmap = T                 1676           1701          31         50.0          20.0       4.4X
codegen = T, vectorized hashmap = T                1083           1144          85         77.4          12.9       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                                        2401           2424          33          8.7         114.5       1.0X
codegen = T, hashmap = F                           1522           1526           5         13.8          72.6       1.6X
codegen = T, row-based hashmap = T                 1018           1040          23         20.6          48.6       2.4X
codegen = T, vectorized hashmap = T                 821            827           6         25.6          39.1       2.9X


================================================================================================
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                                        2247           2277          43          9.3         107.1       1.0X
codegen = T, hashmap = F                           1386           1426          57         15.1          66.1       1.6X
codegen = T, row-based hashmap = T                  451            485          21         46.5          21.5       5.0X
codegen = T, vectorized hashmap = T                 333            337           3         63.0          15.9       6.7X


================================================================================================
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                                        4478           4488          15          4.7         213.5       1.0X
codegen = T, hashmap = F                           2218           2238          28          9.5         105.8       2.0X
codegen = T, row-based hashmap = T                 1777           1804          38         11.8          84.7       2.5X
codegen = T, vectorized hashmap = T                1554           1559           8         13.5          74.1       2.9X


================================================================================================
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                                         366            391          21          1.8         558.4       1.0X
codegen = T, hugeMethodLimit = 10000                140            155          12          4.7         213.8       2.6X
codegen = T, hugeMethodLimit = 1500                 133            144          15          4.9         203.3       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                                2043           2072          41          2.6         389.6       1.0X
cube wholestage on                                 1090           1100          11          4.8         207.9       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           0        143.2           7.0       1.0X
murmur3 hash                                         54             54           0        390.8           2.6       2.7X
fast hash                                            24             24           0        883.0           1.1       6.2X
arrayEqual                                          137            137           0        153.2           6.5       1.1X
Java HashMap (Long)                                  59             68           8        356.3           2.8       2.5X
Java HashMap (two ints)                              90             93           2        233.4           4.3       1.6X
Java HashMap (UnsafeRow)                            545            548           2         38.5          26.0       0.3X
LongToUnsafeRowMap (opt=false)                      353            355           2         59.5          16.8       0.4X
LongToUnsafeRowMap (opt=true)                        81             82           1        259.7           3.9       1.8X
BytesToBytesMap (off Heap)                          438            441           2         47.8          20.9       0.3X
BytesToBytesMap (on Heap)                           444            447           3         47.2          21.2       0.3X
Aggregate HashMap                                    30             31           2        689.4           1.5       4.8X


