ARROW-9032: [C++] Split up arrow/util/bit_util.h into multiple header files#7352
ARROW-9032: [C++] Split up arrow/util/bit_util.h into multiple header files#7352wesm wants to merge 7 commits intoapache:masterfrom
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.
I think it might pay to move these to a bitmap_builders.h?
emkornfield
left a comment
There was a problem hiding this comment.
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.