================================================================================================
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                      38902          39364         653         53.9          18.5       1.0X
agg w/o group wholestage on                        3377           3381           4        621.0           1.6      11.5X


================================================================================================
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                              4528           4536          12         23.2          43.2       1.0X
stddev wholestage on                                979            992           9        107.2           9.3       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                           23508          23553          64          4.5         224.2       1.0X
kurtosis wholestage on                              995           1000           5        105.4           9.5      23.6X


================================================================================================
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                                        7037           7162         177         11.9          83.9       1.0X
codegen = T, hashmap = F                           4256           4318          57         19.7          50.7       1.7X
codegen = T, row-based hashmap = T                 1236           1256          20         67.9          14.7       5.7X
codegen = T, vectorized hashmap = T                 817            840          19        102.7           9.7       8.6X


================================================================================================
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                                        7713           7764          73         10.9          91.9       1.0X
codegen = T, hashmap = F                           4964           4975          18         16.9          59.2       1.6X
codegen = T, row-based hashmap = T                 1689           1711          20         49.7          20.1       4.6X
codegen = T, vectorized hashmap = T                1044           1086          34         80.3          12.4       7.4X


================================================================================================
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                                        2526           2539          18          8.3         120.5       1.0X
codegen = T, hashmap = F                           1567           1575          11         13.4          74.7       1.6X
codegen = T, row-based hashmap = T                 1024           1028           3         20.5          48.8       2.5X
codegen = T, vectorized hashmap = T                 825            829           5         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                                        2110           2114           6          9.9         100.6       1.0X
codegen = T, hashmap = F                           1449           1450           2         14.5          69.1       1.5X
codegen = T, row-based hashmap = T                  448            458          13         46.8          21.4       4.7X
codegen = T, vectorized hashmap = T                 311            319           5         67.5          14.8       6.8X


================================================================================================
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                                        4264           4286          31          4.9         203.3       1.0X
codegen = T, hashmap = F                           2383           2406          32          8.8         113.6       1.8X
codegen = T, row-based hashmap = T                 1873           1876           4         11.2          89.3       2.3X
codegen = T, vectorized hashmap = T                1674           1681          10         12.5          79.8       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                                         379            411          21          1.7         577.6       1.0X
codegen = T, hugeMethodLimit = 10000                137            160          20          4.8         209.4       2.8X
codegen = T, hugeMethodLimit = 1500                 135            156          15          4.9         205.7       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                                2099           2117          27          2.5         400.3       1.0X
cube wholestage on                                 1157           1164           5          4.5         220.7       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            204           0        102.9           9.7       1.0X
murmur3 hash                                         70             70           0        301.0           3.3       2.9X
fast hash                                            72             72           1        293.2           3.4       2.8X
arrayEqual                                          144            144           0        145.7           6.9       1.4X
Java HashMap (Long)                                  65             68           3        321.3           3.1       3.1X
Java HashMap (two ints)                              91             93           2        229.2           4.4       2.2X
Java HashMap (UnsafeRow)                            541            544           3         38.7          25.8       0.4X
LongToUnsafeRowMap (opt=false)                      345            346           1         60.9          16.4       0.6X
LongToUnsafeRowMap (opt=true)                        81             82           1        259.0           3.9       2.5X
BytesToBytesMap (off Heap)                          540            544           3         38.8          25.8       0.4X
BytesToBytesMap (on Heap)                           544            546           2         38.5          25.9       0.4X
Aggregate HashMap                                    31             31           2        686.0           1.5       6.7X


