wesm commented on pull request #7506: URL: https://github.com/apache/arrow/pull/7506#issuecomment-647649670
For curiosity, here are the same benchmarks on my laptop with gcc-8 (using the new output formatting from ARROW-9201) ``` benchmark baseline contender change % regression 46 CastUInt32ToInt32Safe/262144/1 994.591m items/sec 4.487b items/sec 351.118 False 31 CastUInt32ToInt32Safe/32768/1 932.612m items/sec 3.622b items/sec 288.383 False 52 CastInt64ToInt32Safe/262144/1 1.258b items/sec 3.393b items/sec 169.693 False 38 CastInt64ToInt32Safe/32768/1 1.170b items/sec 2.703b items/sec 130.930 False 26 CastUInt32ToInt32Safe/262144/1000 742.665m items/sec 1.217b items/sec 63.901 False 54 CastUInt32ToInt32Safe/32768/1000 696.762m items/sec 1.132b items/sec 62.468 False 43 CastDoubleToInt32Safe/262144/1 1.493b items/sec 2.333b items/sec 56.229 False 66 CastDoubleToInt32Safe/32768/1 1.366b items/sec 2.001b items/sec 46.571 False 61 CastInt64ToDoubleSafe/262144/1 1.489b items/sec 2.162b items/sec 45.245 False 67 CastInt64ToDoubleSafe/32768/1 1.370b items/sec 1.854b items/sec 35.316 False 5 CastUInt32ToInt32Safe/32768/2 204.642m items/sec 253.501m items/sec 23.876 False 40 CastInt64ToDoubleSafe/262144/1000 802.584m items/sec 987.873m items/sec 23.087 False 25 CastUInt32ToInt32Safe/32768/10 451.556m items/sec 546.766m items/sec 21.085 False 24 CastDoubleToInt32Safe/262144/1000 744.363m items/sec 899.943m items/sec 20.901 False 3 CastInt64ToDoubleSafe/32768/1000 753.040m items/sec 906.901m items/sec 20.432 False 53 CastInt64ToInt32Safe/262144/1000 968.574m items/sec 1.158b items/sec 19.578 False 49 CastDoubleToInt32Safe/32768/1000 697.915m items/sec 829.688m items/sec 18.881 False 55 CastInt64ToInt32Safe/32768/1000 893.465m items/sec 1.051b items/sec 17.641 False 57 CastInt64ToDoubleSafe/32768/2 215.963m items/sec 238.114m items/sec 10.257 False 15 CastUInt32ToInt32Safe/262144/2 212.126m items/sec 232.094m items/sec 9.414 False 12 CastInt64ToDoubleSafe/32768/10 443.363m items/sec 483.006m items/sec 8.942 False 18 CastInt64ToInt32Safe/32768/2 219.356m items/sec 236.947m items/sec 8.020 False 7 CastInt64ToDoubleSafe/262144/2 220.790m items/sec 225.300m items/sec 2.043 False 69 CastInt64ToInt32Unsafe/32768/1000 3.262b items/sec 3.304b items/sec 1.278 False 14 CastInt64ToInt32Unsafe/262144/0 4.271b items/sec 4.306b items/sec 0.814 False 22 CastInt64ToInt32Unsafe/32768/2 3.272b items/sec 3.290b items/sec 0.546 False 64 CastInt64ToInt32Safe/262144/2 228.532m items/sec 229.766m items/sec 0.540 False 56 CastUInt32ToInt32Safe/262144/10 467.505m items/sec 469.887m items/sec 0.509 False 21 CastInt64ToInt32Unsafe/32768/0 3.332b items/sec 3.343b items/sec 0.332 False 13 CastInt64ToInt32Unsafe/262144/1 4.292b items/sec 4.300b items/sec 0.195 False 9 CastInt64ToInt32Unsafe/32768/10 3.284b items/sec 3.290b items/sec 0.178 False 20 CastInt64ToInt32Unsafe/32768/1 3.324b items/sec 3.328b items/sec 0.125 False 28 CastInt64ToDoubleUnsafe/262144/10 2.507b items/sec 2.510b items/sec 0.103 False 36 CastInt64ToInt32Unsafe/262144/1000 4.273b items/sec 4.274b items/sec 0.037 False 68 CastInt64ToDoubleUnsafe/32768/1 2.125b items/sec 2.122b items/sec -0.153 False 39 CastInt64ToDoubleUnsafe/32768/0 2.137b items/sec 2.132b items/sec -0.208 False 19 CastInt64ToDoubleUnsafe/262144/2 2.511b items/sec 2.505b items/sec -0.234 False 33 CastInt64ToInt32Unsafe/262144/10 4.288b items/sec 4.271b items/sec -0.395 False 2 CastInt64ToDoubleUnsafe/32768/2 2.119b items/sec 2.110b items/sec -0.455 False 58 CastInt64ToInt32Unsafe/262144/2 4.301b items/sec 4.277b items/sec -0.549 False 48 CastInt64ToDoubleUnsafe/262144/1 2.545b items/sec 2.528b items/sec -0.651 False 0 CastInt64ToDoubleUnsafe/262144/1000 2.525b items/sec 2.501b items/sec -0.941 False 45 CastInt64ToDoubleUnsafe/262144/0 2.546b items/sec 2.518b items/sec -1.098 False 30 CastInt64ToDoubleUnsafe/32768/10 2.131b items/sec 2.097b items/sec -1.615 False 50 CastInt64ToDoubleUnsafe/32768/1000 2.135b items/sec 2.072b items/sec -2.954 False 60 CastDoubleToInt32Safe/32768/0 934.302m items/sec 888.511m items/sec -4.901 False 62 CastInt64ToDoubleSafe/32768/0 1.132b items/sec 1.073b items/sec -5.285 True 35 CastDoubleToInt32Safe/262144/0 1.012b items/sec 951.534m items/sec -5.960 True 17 CastInt64ToInt32Safe/32768/10 518.073m items/sec 485.375m items/sec -6.311 True 37 CastInt64ToDoubleSafe/262144/0 1.229b items/sec 1.141b items/sec -7.110 True 47 CastInt64ToDoubleSafe/262144/10 455.081m items/sec 418.319m items/sec -8.078 True 16 CastDoubleToInt32Safe/32768/2 223.095m items/sec 202.291m items/sec -9.325 True 23 CastDoubleToInt32Safe/262144/2 227.086m items/sec 203.714m items/sec -10.292 True 59 CastDoubleToInt32Safe/32768/10 463.260m items/sec 389.040m items/sec -16.021 True 41 CastDoubleToInt32Safe/262144/10 479.642m items/sec 401.058m items/sec -16.384 True 32 CastInt64ToInt32Safe/262144/10 542.675m items/sec 442.477m items/sec -18.464 True 4 CastInt64ToInt32Safe/32768/0 1.648b items/sec 1.316b items/sec -20.173 True 42 CastInt64ToInt32Safe/262144/0 1.894b items/sec 1.444b items/sec -23.787 True 65 CastDoubleToInt32Unsafe/32768/1000 2.954b items/sec 2.248b items/sec -23.882 True 44 CastDoubleToInt32Unsafe/32768/10 2.955b items/sec 2.233b items/sec -24.439 True 51 CastDoubleToInt32Unsafe/32768/0 2.916b items/sec 2.202b items/sec -24.494 True 63 CastDoubleToInt32Unsafe/32768/1 2.962b items/sec 2.227b items/sec -24.821 True 8 CastDoubleToInt32Unsafe/32768/2 2.974b items/sec 2.225b items/sec -25.194 True 6 CastDoubleToInt32Unsafe/262144/2 3.759b items/sec 2.673b items/sec -28.877 True 1 CastDoubleToInt32Unsafe/262144/1000 3.765b items/sec 2.671b items/sec -29.063 True 34 CastDoubleToInt32Unsafe/262144/10 3.773b items/sec 2.649b items/sec -29.802 True 11 CastDoubleToInt32Unsafe/262144/0 3.778b items/sec 2.641b items/sec -30.089 True 27 CastDoubleToInt32Unsafe/262144/1 3.778b items/sec 2.578b items/sec -31.763 True 29 CastUInt32ToInt32Safe/32768/0 2.307b items/sec 1.410b items/sec -38.873 True 10 CastUInt32ToInt32Safe/262144/0 2.728b items/sec 1.521b items/sec -44.266 True ``` In the case where there is a regression, the code went from "very very fast" to "very fast" so not likely to make a difference in real world workloads. ---------------------------------------------------------------- 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