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)