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]

Reply via email to