[
https://issues.apache.org/jira/browse/ARROW-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17660946#comment-17660946
]
Rok Mihevc commented on ARROW-3922:
-----------------------------------
This issue has been migrated to [issue
#20533|https://github.com/apache/arrow/issues/20533] on GitHub. Please see the
[migration documentation|https://github.com/apache/arrow/issues/14542] for
further details.
> [C++] improve the performance of bitmap operations
> --------------------------------------------------
>
> Key: ARROW-3922
> URL: https://issues.apache.org/jira/browse/ARROW-3922
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Animesh Trivedi
> Assignee: Animesh Trivedi
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.12.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> C++ bitmap code can be optimized further by using the unsigned integers than
> "int64_t" for bitmap checks, and eliminating the kBitmap. See here
> [https://godbolt.org/z/deq0_q] - compare the size of the assembly code. And
> the performance measurements in the blog show up to 50% performance gains.
> Alternatively if signed to unsigned upgrade is not possible (perhaps in every
> language), then in the C++ code, we should use the bitmap operations
> directory ( `<<3` for division by 8, and ` & 0x7` for modulo by 8 operation),
> instead of `/` and `%`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)