You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Kouhei Sutou (Jira)" <ji...@apache.org> on 2022/10/19 04:33:00 UTC

[jira] [Updated] (ARROW-17259) [C++] Use shared_ptr less throughout arrow/compute

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

Kouhei Sutou updated ARROW-17259:
---------------------------------
    Fix Version/s: 11.0.0
                       (was: 10.0.0)

> [C++] Use shared_ptr<DataType> less throughout arrow/compute
> ------------------------------------------------------------
>
>                 Key: ARROW-17259
>                 URL: https://issues.apache.org/jira/browse/ARROW-17259
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Wes McKinney
>            Assignee: Wes McKinney
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 11.0.0
>
>          Time Spent: 4h
>  Remaining Estimate: 0h
>
> It turns out we generate a ton of code just copying and manipulating {{shared_ptr<DataType>}} throughput arrow/compute, and especially in the configuration of the function/kernels registry. One function {{RegisterScalarArithmetic}} generates around 300kb of code, which on looking at disassembly contains a significant amount of inlined shared_ptr template code. I made an attempt to refactoring things to use {{const DataType*}} for function signatures which removes quite a bit of code bloat, and puts us on a path to using fewer shared_ptr's in general



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