You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/06/04 04:07:24 UTC

[GitHub] [arrow] emkornfield commented on a change in pull request #7346: ARROW-9029: [C++] Implement BitBlockCounter for much fast block popcounts of bitmaps

emkornfield commented on a change in pull request #7346:
URL: https://github.com/apache/arrow/pull/7346#discussion_r434979894



##########
File path: cpp/src/arrow/util/bit_util.h
##########
@@ -1170,5 +1170,32 @@ class BitsetStack {
   std::vector<int> offsets_;
 };
 
+/// \brief A class that scans through a true/false bitmap to yield blocks of up
+/// to 256 bits at a time along with their popcount. This is used to accelerate
+/// processing of mostly-not-null array data.
+class ARROW_EXPORT BitBlockCounter {
+ public:
+  struct Block {
+    int16_t length;

Review comment:
       did you check if this affects benchmarks, I think popcount returns ints so there might be some miniscule advantage to keep it at a larger size.




----------------------------------------------------------------
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:
users@infra.apache.org