wesm commented on pull request #7356: URL: https://github.com/apache/arrow/pull/7356#issuecomment-639697297
OK, here are the binary benchmarks: ``` -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BinaryBitBlockCounterSum/8 3189138 ns 3189079 ns 216 313.57M items/s BinaryBitBlockCounterSum/64 1839419 ns 1839359 ns 390 543.668M items/s BinaryBitBlockCounterSum/512 630842 ns 630808 ns 1121 1.54811G items/s BinaryBitBlockCounterSum/4096 256330 ns 256332 ns 2746 3.80976G items/s BinaryBitBlockCounterSum/32768 204388 ns 204383 ns 3454 4.77809G items/s BinaryBitBlockCounterSum/65536 201268 ns 201260 ns 3428 4.85225G items/s BinaryBitBlockCounterSumWithOffset/8 3313859 ns 3313805 ns 206 301.768M items/s BinaryBitBlockCounterSumWithOffset/64 1966957 ns 1966805 ns 360 508.439M items/s BinaryBitBlockCounterSumWithOffset/512 672431 ns 672434 ns 1088 1.45228G items/s BinaryBitBlockCounterSumWithOffset/4096 286651 ns 286643 ns 2469 3.40689G items/s BinaryBitBlockCounterSumWithOffset/32768 228652 ns 228648 ns 3048 4.27103G items/s BinaryBitBlockCounterSumWithOffset/65536 228191 ns 228188 ns 3171 4.27964G items/s BinaryBitmapReaderSum/8 3803716 ns 3803704 ns 183 262.902M items/s BinaryBitmapReaderSum/64 2184717 ns 2184728 ns 316 457.723M items/s BinaryBitmapReaderSum/512 2018442 ns 2018421 ns 344 495.437M items/s BinaryBitmapReaderSum/4096 1997782 ns 1997729 ns 349 500.568M items/s BinaryBitmapReaderSum/32768 2024333 ns 2024318 ns 367 493.994M items/s BinaryBitmapReaderSum/65536 2018332 ns 2018340 ns 346 495.457M items/s BinaryBitmapReaderSumWithOffset/8 3926170 ns 3926185 ns 181 254.7M items/s BinaryBitmapReaderSumWithOffset/64 2198425 ns 2198417 ns 323 454.873M items/s BinaryBitmapReaderSumWithOffset/512 2001917 ns 2001864 ns 352 499.535M items/s BinaryBitmapReaderSumWithOffset/4096 1980845 ns 1980853 ns 351 504.833M items/s BinaryBitmapReaderSumWithOffset/32768 1979394 ns 1979403 ns 365 505.203M items/s BinaryBitmapReaderSumWithOffset/65536 2029335 ns 2029347 ns 345 492.769M items/s ``` It seems that it is never a good idea to use BitmapReader for the binary case, even when the incidence of nulls is high, that even in that case naively using `BitUtil::GetBit` is better. ---------------------------------------------------------------- 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