You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Alexey Smirnov (Jira)" <ji...@apache.org> on 2022/08/31 11:24:00 UTC

[jira] [Assigned] (ARROW-17330) [C#] Extend ArrowBuffer.BitmapBuilder to improve performance of array concatenation

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

Alexey Smirnov reassigned ARROW-17330:
--------------------------------------

    Assignee: Alexey Smirnov

> [C#] Extend ArrowBuffer.BitmapBuilder to improve performance of array concatenation
> -----------------------------------------------------------------------------------
>
>                 Key: ARROW-17330
>                 URL: https://issues.apache.org/jira/browse/ARROW-17330
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C#
>    Affects Versions: 8.0.0
>            Reporter: Alexey Smirnov
>            Assignee: Alexey Smirnov
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Extend ArrowBuffer.BitmapBuilder with Append method overloaded with ReadOnlySpan<byte> parameter. 
> This allows to add validity bits to the builder more efficiently (especially for cases when initial validity bits are added to newly created empty builder).  More over it makes BitmapBuilder API more consistent (for example ArrowBuffer.Builder<T> does have such method).
> Currently adding new bits to existing bitmap is implemented in ArrayDataConcatenator, Code adds bit by bit in a cycle converting each to a boolean value:
> for (int i = 0; i < length; i++)
> {
>     builder.Append(span.IsEmpty || BitUtility.GetBit(span, i));
> }
> Initial problem was described in this email: https://lists.apache.org/thread/kls6tjq2hclsvd16tw901ooo5soojrmb
> PR: https://github.com/apache/arrow/pull/13810



--
This message was sent by Atlassian Jira
(v8.20.10#820010)