[
https://issues.apache.org/jira/browse/ARROW-8891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17359395#comment-17359395
]
David Li commented on ARROW-8891:
---------------------------------
I glanced at this, but since dictionary casts use Take, either we have to
restore the non-Take implementation and duplicate code paths, include Take
libarrow.so, or relegate dictionary casts to libarrow_compute.so.
> [C++] Split non-cast compute kernels into a separate shared library
> -------------------------------------------------------------------
>
> Key: ARROW-8891
> URL: https://issues.apache.org/jira/browse/ARROW-8891
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Wes McKinney
> Priority: Major
>
> Since we are going to implement a lot more precompiled kernels, I am not sure
> it makes sense to require all of them to be compiled unconditionally just to
> get access to {{compute::Cast}}, which is needed in many different contexts.
> After ARROW-8792 is merged, I would suggest creating a plugin hook for adding
> a bundle of kernels from a shared library outside of libarrow.so, and then
> moving all the object code outside of Cast to something like
> libarrow_compute.so. Then we can change the CMake flags to compile Cast
> kernels always (?) and then opt in to building the additional kernels package
> separately
--
This message was sent by Atlassian Jira
(v8.3.4#803005)