Skip to content

[C++] Use shared_ptr<DataType> less throughout arrow/compute #32541

@asfimport

Description

@asfimport

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

Reporter: Wes McKinney / @wesm
Assignee: Wes McKinney / @wesm

PRs and other links:

Note: This issue was originally created as ARROW-17259. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions