Wes McKinney created ARROW-17259: ------------------------------------ Summary: [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 Fix For: 10.0.0
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)