[
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)