-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-9032: [C++] Split up arrow/util/bit_util.h into multiple header files #7352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@emkornfield I can definitely rebase #6985 for you |
|
If this PR in principle is not objectionable would it be OK if I merged it once the build is green and then I can rebase all the PRs that it causes conflicts with? |
|
Haven't had a chance to review it but I think it is a good thing to do, bit_util.h was definitely getting too crowded. |
|
OK. I will get the build passing here and work on some dependent patches until you or someone can have a chance to review |
Some cleanup clang-format Fixes, move GenerateBits/Unrolled to separate header Fix R compilation Fix rebase conflict
|
Rebased |
|
As far as I'm concerned this can be merged as soon as the build is green and someone signs off on it |
|
The ARM failure is a flake, so this is merge-ready |
cpp/src/arrow/util/bitmap_ops.h
Outdated
|
|
||
| /// \brief Generate Bitmap with all position to `value` except for one found | ||
| /// at `straggler_pos`. | ||
| ARROW_EXPORT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might pay to move these to a bitmap_builders.h?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
emkornfield
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of small suggestions but generally looks OK to me.
|
Will merge this once CI is passing |
|
Appveyor looks OK https://ci.appveyor.com/project/wesm/arrow/builds/33339226. Merging |
There is a lot of code in bit_util.h that is seldom used compared to certain common utilities like
BitUtil::BytesForBits. This moves everything outside of theBitUtilnamespace to different headers. You can see by the frequency of includes that this makes sense so that compilation units that only need some simple bit utilities are not including a lot of header code that they never useThis doesn't seem to affect aggregate compilation time very much but at minimum makes the code easier to navigate (in my opinion, at least).
All the unit tests are still in bit_util_test.cc. Maybe we can improve that in a follow up patch.