================================================================================================ aggregate without grouping ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz 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 59499 62969 2375 35.2 28.4 1.0X agg w/o group wholestage on 890 902 10 2357.2 0.4 66.9X ================================================================================================ stat functions ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz stddev: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ stddev wholestage off 8702 8870 237 12.0 83.0 1.0X stddev wholestage on 1307 1314 9 80.2 12.5 6.7X OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz kurtosis: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ kurtosis wholestage off 42656 42797 198 2.5 406.8 1.0X kurtosis wholestage on 1440 1466 32 72.8 13.7 29.6X ================================================================================================ aggregate with linear keys ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Aggregate w keys: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 10963 11035 101 7.7 130.7 1.0X codegen = T hashmap = F 6852 7080 207 12.2 81.7 1.6X codegen = T hashmap = T 1377 1421 43 60.9 16.4 8.0X ================================================================================================ aggregate with randomized keys ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Aggregate w keys: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 12240 12296 80 6.9 145.9 1.0X codegen = T hashmap = F 8318 8376 87 10.1 99.2 1.5X codegen = T hashmap = T 2551 2617 80 32.9 30.4 4.8X ================================================================================================ aggregate with string key ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Aggregate w string key: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 4442 4504 88 4.7 211.8 1.0X codegen = T hashmap = F 2685 2778 95 7.8 128.0 1.7X codegen = T hashmap = T 1181 1203 15 17.8 56.3 3.8X ================================================================================================ aggregate with decimal key ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Aggregate w decimal key: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 3487 3534 66 6.0 166.3 1.0X codegen = T hashmap = F 2239 2353 161 9.4 106.8 1.6X codegen = T hashmap = T 664 693 26 31.6 31.7 5.3X ================================================================================================ aggregate with multiple key types ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Aggregate w multiple keys: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 6414 6475 86 3.3 305.9 1.0X codegen = T hashmap = F 3776 3800 34 5.6 180.1 1.7X codegen = T hashmap = T 2824 2852 40 7.4 134.7 2.3X ================================================================================================ max function bytecode size of wholestagecodegen ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz max function bytecode size: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ codegen = F 654 696 36 1.0 998.6 1.0X codegen = T hugeMethodLimit = 10000 378 405 24 1.7 577.1 1.7X codegen = T hugeMethodLimit = 1500 383 403 22 1.7 584.3 1.7X ================================================================================================ cube ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cube: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ cube wholestage off 3443 3444 1 1.5 656.7 1.0X cube wholestage on 1797 1815 20 2.9 342.7 1.9X ================================================================================================ hash and BytesToBytesMap ================================================================================================ OpenJDK 64-Bit Server VM 11.0.5+10-post-Ubuntu-0ubuntu1.118.04 on Linux 4.15.0-1044-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz BytesToBytesMap: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ UnsafeRowhash 313 314 2 67.1 14.9 1.0X murmur3 hash 144 145 2 145.9 6.9 2.2X fast hash 70 72 5 301.5 3.3 4.5X arrayEqual 189 190 0 111.0 9.0 1.7X Java HashMap (Long) 129 132 4 162.4 6.2 2.4X Java HashMap (two ints) 148 154 7 142.0 7.0 2.1X Java HashMap (UnsafeRow) 839 840 1 25.0 40.0 0.4X LongToUnsafeRowMap (opt=false) 462 464 1 45.4 22.0 0.7X LongToUnsafeRowMap (opt=true) 108 108 1 194.2 5.2 2.9X BytesToBytesMap (off Heap) 1027 1029 2 20.4 49.0 0.3X BytesToBytesMap (on Heap) 999 1001 3 21.0 47.6 0.3X Aggregate HashMap 44 44 0 477.8 2.1 7.1X