[ 
https://issues.apache.org/jira/browse/ARROW-5225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ji Liu updated ARROW-5225:
--------------------------
    Description: 
Now in _BaseValueVector#getValidityBufferSizeFromCount_  and 
_BitVectorHelper#getValidityBufferSize_, it uses _Math.ceil_ to calculate size 
which is not efficient (lots of unnecessary logic in _StrictMath#floorOrCeil_) 
. Since the valueCount is always not less than 0, we could simply replace 
_Math.ceil_ with the following code:

_return (valueCount+7) >> 3_;

  was:
Now in _BaseValueVector#getValidityBufferSizeFromCount_  and 
_BitVectorHelper#getValidityBufferSize_, it uses _Math.ceil_ to calculate size 
which is not efficient (lots of unnecessary logic in _StrictMath#floorOrCeil_) 
. Since the valueCount is always not less than 0, we could simply replace 
_Math.ceil_ with the following code:

_return valueCount % 8 > 0 ? valueCount / 8 + 1 : valueCount / 8_;


> [Java] Improve performance of BaseValueVector#getValidityBufferSizeFromCount
> ----------------------------------------------------------------------------
>
>                 Key: ARROW-5225
>                 URL: https://issues.apache.org/jira/browse/ARROW-5225
>             Project: Apache Arrow
>          Issue Type: Improvement
>            Reporter: Ji Liu
>            Assignee: Ji Liu
>            Priority: Trivial
>              Labels: pull-request-available
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Now in _BaseValueVector#getValidityBufferSizeFromCount_  and 
> _BitVectorHelper#getValidityBufferSize_, it uses _Math.ceil_ to calculate 
> size which is not efficient (lots of unnecessary logic in 
> _StrictMath#floorOrCeil_) . Since the valueCount is always not less than 0, 
> we could simply replace _Math.ceil_ with the following code:
> _return (valueCount+7) >> 3_;



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to