felipecrv opened a new pull request, #42047:
URL: https://github.com/apache/arrow/pull/42047
### Rationale for this change
Binary size reductions. See issue for details.
```
$ bloaty -d symbols -C full -n 0 ./release/libarrow.dylib --
MAIN-libarrow.dylib
FILE SIZE VM SIZE
-------------- --------------
...
-0.1% -30.9Ki -0.1% -16.0Ki TOTAL
```
Comparison of the file sizes show a reduction of 31.6 KB:
```
$ ls -l ./MAIN-libarrow.dylib ./release/libarrow.1700.0.0.dylib
-rwxr-xr-x@ 1 felipe staff 29032280 Jun 9 22:06 ./MAIN-libarrow.dylib
-rwxr-xr-x@ 1 felipe staff 29000648 Jun 9 22:07
./release/libarrow.1700.0.0.dylib
```
### What changes are included in this PR?
- Manual inlining of some functions
- Replacing `VisitTypeInline` with custom dispatching logic on the integer
types
- Add new tests and fix an overflow bug
- Drop the usage of array builders when a simple `Buffer` is enough
- Use `ARROW_PREDICT_FALSE` to flag cold branches so the inliner is less
aggressive (always measuring to check it's effective)\
- Use a bitmap instead of std::vector<bool> and `SetBitRunReader`
### Are these changes tested?
Existing and a new test case.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]