wesm commented on pull request #7143: URL: https://github.com/apache/arrow/pull/7143#issuecomment-649585468
FWIW gcc benchmarks (sse4.2) on my machine (ubuntu 18.04 on i9-9960X) ``` $ archery benchmark diff --cc=gcc-8 --cxx=g++-8 emkornfield/ARROW-8504 master --suite-filter=parquet-arrow benchmark baseline contender change % counters 35 BM_ReadColumn<true,Int64Type>/75/1 267.930 MiB/sec 275.083 MiB/sec 2.670 {'iterations': 2} 6 BM_ReadColumn<true,Int32Type>/99/0 238.381 MiB/sec 244.286 MiB/sec 2.477 {'iterations': 3} 10 BM_ReadColumn<true,DoubleType>/10/50 270.775 MiB/sec 275.249 MiB/sec 1.652 {'iterations': 2} 31 BM_ReadColumn<true,Int32Type>/25/5 171.549 MiB/sec 174.237 MiB/sec 1.567 {'iterations': 2} 29 BM_ReadColumn<false,Int32Type>/-1/1 856.194 MiB/sec 866.945 MiB/sec 1.256 {'iterations': 11} 7 BM_WriteColumn<true,BooleanType> 31.593 MiB/sec 31.845 MiB/sec 0.797 {'iterations': 1} 44 BM_ReadIndividualRowGroups 849.469 MiB/sec 856.209 MiB/sec 0.793 {'iterations': 6} 36 BM_ReadColumn<true,DoubleType>/-1/0 408.388 MiB/sec 411.490 MiB/sec 0.759 {'iterations': 3} 3 BM_ReadColumn<true,Int32Type>/50/0 151.600 MiB/sec 152.399 MiB/sec 0.527 {'iterations': 2} 32 BM_ReadColumn<true,Int64Type>/30/10 268.512 MiB/sec 269.849 MiB/sec 0.498 {'iterations': 2} 8 BM_ReadColumn<false,DoubleType>/-1/20 772.878 MiB/sec 776.716 MiB/sec 0.497 {'iterations': 5} 17 BM_ReadColumn<true,DoubleType>/25/25 277.705 MiB/sec 278.957 MiB/sec 0.451 {'iterations': 2} 23 BM_ReadColumn<false,Int64Type>/-1/1 1.472 GiB/sec 1.478 GiB/sec 0.414 {'iterations': 13} 30 BM_ReadColumn<true,Int32Type>/1/1 235.809 MiB/sec 236.730 MiB/sec 0.391 {'iterations': 3} 45 BM_WriteColumn<true,Int32Type> 45.067 MiB/sec 45.232 MiB/sec 0.366 {'iterations': 1} 41 BM_ReadColumn<true,Int64Type>/45/25 241.545 MiB/sec 242.427 MiB/sec 0.365 {'iterations': 2} 40 BM_ReadColumn<false,Int64Type>/-1/10 710.485 MiB/sec 712.181 MiB/sec 0.239 {'iterations': 5} 22 BM_ReadColumn<false,BooleanType>/-1/0 211.939 MiB/sec 212.433 MiB/sec 0.233 {'iterations': 15} 39 BM_ReadColumn<false,Int32Type>/-1/50 629.632 MiB/sec 630.955 MiB/sec 0.210 {'iterations': 9} 15 BM_ReadColumn<false,BooleanType>/1/20 145.490 MiB/sec 145.701 MiB/sec 0.145 {'iterations': 10} 9 BM_ReadColumn<true,BooleanType>/-1/1 162.373 MiB/sec 162.497 MiB/sec 0.077 {'iterations': 4} 11 BM_ReadColumn<true,Int32Type>/-1/0 257.190 MiB/sec 257.278 MiB/sec 0.034 {'iterations': 3} 13 BM_WriteColumn<false,Int32Type> 32.378 MiB/sec 32.386 MiB/sec 0.025 {'iterations': 1} 37 BM_ReadColumn<true,Int32Type>/99/50 238.918 MiB/sec 238.975 MiB/sec 0.024 {'iterations': 3} 20 BM_WriteColumn<false,DoubleType> 54.200 MiB/sec 54.209 MiB/sec 0.017 {'iterations': 1} 19 BM_ReadColumn<true,Int64Type>/1/1 369.522 MiB/sec 369.199 MiB/sec -0.087 {'iterations': 2} 0 BM_ReadColumn<false,Int64Type>/-1/50 1.144 GiB/sec 1.143 GiB/sec -0.090 {'iterations': 10} 34 BM_ReadColumn<true,Int64Type>/35/10 262.271 MiB/sec 261.890 MiB/sec -0.145 {'iterations': 2} 21 BM_ReadColumn<true,Int64Type>/50/1 242.510 MiB/sec 242.067 MiB/sec -0.183 {'iterations': 2} 5 BM_ReadColumn<true,Int32Type>/50/50 152.344 MiB/sec 152.000 MiB/sec -0.225 {'iterations': 2} 1 BM_ReadColumn<true,Int32Type>/10/10 179.063 MiB/sec 178.583 MiB/sec -0.268 {'iterations': 2} 28 BM_WriteColumn<false,Int64Type> 64.162 MiB/sec 63.990 MiB/sec -0.269 {'iterations': 1} 38 BM_WriteColumn<true,DoubleType> 69.641 MiB/sec 69.446 MiB/sec -0.280 {'iterations': 1} 18 BM_WriteColumn<false,BooleanType> 26.643 MiB/sec 26.557 MiB/sec -0.324 {'iterations': 2} 16 BM_ReadColumn<false,DoubleType>/-1/0 2.291 GiB/sec 2.281 GiB/sec -0.397 {'iterations': 20} 43 BM_WriteColumn<true,Int64Type> 75.453 MiB/sec 75.050 MiB/sec -0.534 {'iterations': 1} 33 BM_ReadColumn<true,BooleanType>/5/10 115.534 MiB/sec 114.574 MiB/sec -0.832 {'iterations': 3} 14 BM_ReadColumn<true,Int64Type>/50/50 242.071 MiB/sec 240.005 MiB/sec -0.854 {'iterations': 2} 4 BM_ReadMultipleRowGroups 826.026 MiB/sec 818.709 MiB/sec -0.886 {'iterations': 5} 24 BM_ReadColumn<false,Int32Type>/-1/10 386.383 MiB/sec 382.213 MiB/sec -1.079 {'iterations': 6} 12 BM_ReadColumn<true,Int64Type>/-1/0 410.877 MiB/sec 404.700 MiB/sec -1.503 {'iterations': 3} 25 BM_ReadColumn<true,Int64Type>/10/5 289.612 MiB/sec 284.777 MiB/sec -1.670 {'iterations': 2} 2 BM_ReadColumn<true,Int64Type>/25/10 277.045 MiB/sec 271.925 MiB/sec -1.848 {'iterations': 2} 26 BM_ReadColumn<true,Int64Type>/5/5 311.137 MiB/sec 295.823 MiB/sec -4.922 {'iterations': 2} 42 BM_ReadColumn<true,Int64Type>/99/0 371.803 MiB/sec 347.872 MiB/sec -6.436 {'iterations': 2} 27 BM_ReadColumn<true,Int64Type>/99/50 381.029 MiB/sec 351.329 MiB/sec -7.795 {'iterations': 3} ``` Here's clang-11 ``` $ archery benchmark diff --cc=clang-11 --cxx=clang++-11 emkornfield/ARROW-8504 master --suite-filter=parquet-arrow benchmark baseline contender change % counters 37 BM_ReadColumn<true,Int64Type>/35/10 242.396 MiB/sec 259.801 MiB/sec 7.180 {'iterations': 2} 17 BM_ReadColumn<false,DoubleType>/-1/0 2.160 GiB/sec 2.276 GiB/sec 5.363 {'iterations': 20} 0 BM_ReadColumn<true,Int64Type>/5/5 304.868 MiB/sec 313.829 MiB/sec 2.939 {'iterations': 2} 10 BM_ReadColumn<true,Int64Type>/-1/0 398.515 MiB/sec 408.179 MiB/sec 2.425 {'iterations': 3} 3 BM_ReadColumn<true,Int64Type>/10/5 286.868 MiB/sec 289.629 MiB/sec 0.962 {'iterations': 2} 18 BM_ReadIndividualRowGroups 845.304 MiB/sec 851.353 MiB/sec 0.716 {'iterations': 5} 33 BM_ReadColumn<true,Int64Type>/99/0 372.125 MiB/sec 374.716 MiB/sec 0.696 {'iterations': 2} 12 BM_ReadColumn<true,Int32Type>/50/0 151.242 MiB/sec 152.137 MiB/sec 0.591 {'iterations': 2} 8 BM_ReadMultipleRowGroups 819.229 MiB/sec 823.423 MiB/sec 0.512 {'iterations': 5} 1 BM_ReadColumn<true,Int64Type>/25/10 270.997 MiB/sec 272.218 MiB/sec 0.450 {'iterations': 2} 16 BM_WriteColumn<true,Int32Type> 44.766 MiB/sec 44.946 MiB/sec 0.402 {'iterations': 1} 11 BM_ReadColumn<true,Int64Type>/50/1 241.717 MiB/sec 242.539 MiB/sec 0.340 {'iterations': 2} 45 BM_ReadColumn<true,Int64Type>/50/50 241.083 MiB/sec 241.646 MiB/sec 0.233 {'iterations': 2} 27 BM_WriteColumn<false,BooleanType> 26.050 MiB/sec 26.095 MiB/sec 0.170 {'iterations': 2} 20 BM_ReadColumn<false,Int32Type>/-1/1 864.068 MiB/sec 865.475 MiB/sec 0.163 {'iterations': 11} 7 BM_WriteColumn<true,DoubleType> 69.439 MiB/sec 69.545 MiB/sec 0.152 {'iterations': 1} 19 BM_ReadColumn<true,DoubleType>/25/25 275.396 MiB/sec 275.811 MiB/sec 0.151 {'iterations': 2} 23 BM_ReadColumn<true,Int64Type>/99/50 370.614 MiB/sec 371.017 MiB/sec 0.109 {'iterations': 2} 9 BM_ReadColumn<true,Int32Type>/25/5 173.728 MiB/sec 173.861 MiB/sec 0.076 {'iterations': 2} 5 BM_ReadColumn<true,DoubleType>/-1/0 410.275 MiB/sec 410.482 MiB/sec 0.051 {'iterations': 3} 44 BM_WriteColumn<false,DoubleType> 54.559 MiB/sec 54.586 MiB/sec 0.050 {'iterations': 1} 36 BM_WriteColumn<true,BooleanType> 31.427 MiB/sec 31.426 MiB/sec -0.003 {'iterations': 1} 28 BM_ReadColumn<true,BooleanType>/5/10 115.041 MiB/sec 114.909 MiB/sec -0.115 {'iterations': 3} 2 BM_ReadColumn<true,Int64Type>/45/25 242.615 MiB/sec 242.257 MiB/sec -0.148 {'iterations': 2} 6 BM_ReadColumn<false,Int64Type>/-1/1 1.471 GiB/sec 1.469 GiB/sec -0.157 {'iterations': 13} 4 BM_ReadColumn<false,BooleanType>/1/20 145.277 MiB/sec 145.008 MiB/sec -0.185 {'iterations': 10} 24 BM_ReadColumn<true,Int32Type>/99/50 238.739 MiB/sec 238.281 MiB/sec -0.192 {'iterations': 3} 34 BM_WriteColumn<false,Int32Type> 32.013 MiB/sec 31.937 MiB/sec -0.237 {'iterations': 1} 30 BM_ReadColumn<false,BooleanType>/-1/0 213.488 MiB/sec 212.948 MiB/sec -0.253 {'iterations': 14} 39 BM_ReadColumn<true,Int32Type>/-1/0 259.936 MiB/sec 259.218 MiB/sec -0.276 {'iterations': 3} 14 BM_ReadColumn<true,Int64Type>/30/10 270.662 MiB/sec 269.891 MiB/sec -0.285 {'iterations': 2} 26 BM_WriteColumn<false,Int64Type> 62.818 MiB/sec 62.576 MiB/sec -0.385 {'iterations': 1} 13 BM_ReadColumn<true,Int64Type>/75/1 275.538 MiB/sec 274.461 MiB/sec -0.391 {'iterations': 2} 32 BM_ReadColumn<false,Int32Type>/-1/50 631.052 MiB/sec 627.655 MiB/sec -0.538 {'iterations': 9} 38 BM_ReadColumn<false,DoubleType>/-1/20 771.752 MiB/sec 766.959 MiB/sec -0.621 {'iterations': 5} 22 BM_ReadColumn<false,Int64Type>/-1/10 712.603 MiB/sec 708.037 MiB/sec -0.641 {'iterations': 5} 21 BM_ReadColumn<true,Int64Type>/1/1 370.007 MiB/sec 367.621 MiB/sec -0.645 {'iterations': 2} 25 BM_ReadColumn<true,Int32Type>/10/10 182.975 MiB/sec 181.714 MiB/sec -0.689 {'iterations': 2} 29 BM_ReadColumn<false,Int64Type>/-1/50 1.144 GiB/sec 1.135 GiB/sec -0.713 {'iterations': 10} 41 BM_ReadColumn<true,DoubleType>/10/50 271.556 MiB/sec 269.579 MiB/sec -0.728 {'iterations': 2} 42 BM_ReadColumn<false,Int32Type>/-1/10 390.676 MiB/sec 386.926 MiB/sec -0.960 {'iterations': 6} 35 BM_WriteColumn<true,Int64Type> 74.108 MiB/sec 73.364 MiB/sec -1.004 {'iterations': 1} 40 BM_ReadColumn<true,Int32Type>/1/1 236.583 MiB/sec 233.838 MiB/sec -1.160 {'iterations': 3} 43 BM_ReadColumn<true,BooleanType>/-1/1 162.242 MiB/sec 160.101 MiB/sec -1.320 {'iterations': 4} 31 BM_ReadColumn<true,Int32Type>/99/0 236.270 MiB/sec 232.278 MiB/sec -1.690 {'iterations': 3} 15 BM_ReadColumn<true,Int32Type>/50/50 152.712 MiB/sec 148.673 MiB/sec -2.645 {'iterations': 2} ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org