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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                      38366          39019         923         54.7          18.3       1.0X
agg w/o group wholestage on                        3369           3383           9        622.5           1.6      11.4X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                              4539           4551          17         23.1          43.3       1.0X
stddev wholestage on                                981            986           4        106.8           9.4       4.6X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                           22063          22102          56          4.8         210.4       1.0X
kurtosis wholestage on                              985            994           7        106.4           9.4      22.4X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                        6868           6923          78         12.2          81.9       1.0X
codegen = T, hashmap = F                           4329           4358          35         19.4          51.6       1.6X
codegen = T, row-based hashmap = T                 1203           1222          19         69.7          14.3       5.7X
codegen = T, vectorized hashmap = T                 828            847          34        101.3           9.9       8.3X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                        7623           7658          49         11.0          90.9       1.0X
codegen = T, hashmap = F                           4942           4971          28         17.0          58.9       1.5X
codegen = T, row-based hashmap = T                 1706           1729          17         49.2          20.3       4.5X
codegen = T, vectorized hashmap = T                1042           1079          31         80.5          12.4       7.3X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                        2493           2520          39          8.4         118.9       1.0X
codegen = T, hashmap = F                           1527           1538          11         13.7          72.8       1.6X
codegen = T, row-based hashmap = T                 1015           1025          12         20.7          48.4       2.5X
codegen = T, vectorized hashmap = T                 821            831          11         25.5          39.2       3.0X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                        2122           2170          68          9.9         101.2       1.0X
codegen = T, hashmap = F                           1377           1393          22         15.2          65.7       1.5X
codegen = T, row-based hashmap = T                  437            442           4         48.0          20.9       4.9X
codegen = T, vectorized hashmap = T                 310            317           3         67.6          14.8       6.8X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                        4196           4197           2          5.0         200.1       1.0X
codegen = T, hashmap = F                           2482           2493          14          8.4         118.4       1.7X
codegen = T, row-based hashmap = T                 1727           1740          18         12.1          82.4       2.4X
codegen = T, vectorized hashmap = T                1648           1671          32         12.7          78.6       2.5X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                         359            388          25          1.8         548.0       1.0X
codegen = T, hugeMethodLimit = 10000                147            166          16          4.5         223.6       2.5X
codegen = T, hugeMethodLimit = 1500                 135            146          13          4.8         206.5       2.7X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                2183           2214          44          2.4         416.4       1.0X
cube wholestage on                                 1139           1148           7          4.6         217.3       1.9X


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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.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                                       204            205           1        102.9           9.7       1.0X
murmur3 hash                                         69             70           1        304.0           3.3       3.0X
fast hash                                            72             73           7        292.8           3.4       2.8X
arrayEqual                                          144            144           0        145.8           6.9       1.4X
Java HashMap (Long)                                  65             69           3        320.7           3.1       3.1X
Java HashMap (two ints)                              85             88           1        247.9           4.0       2.4X
Java HashMap (UnsafeRow)                            549            550           1         38.2          26.2       0.4X
LongToUnsafeRowMap (opt=false)                      342            344           1         61.3          16.3       0.6X
LongToUnsafeRowMap (opt=true)                        73             74           1        287.4           3.5       2.8X
BytesToBytesMap (off Heap)                          607            609           2         34.6          28.9       0.3X
BytesToBytesMap (on Heap)                           609            623          17         34.4          29.0       0.3X
Aggregate HashMap                                    31             31           0        686.4           1.5       6.7X


