[
https://issues.apache.org/jira/browse/ARROW-7179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17397448#comment-17397448
]
David Li commented on ARROW-7179:
---------------------------------
So fill_null is quite a bit faster than coalesce, as being able to assume there
are only two arguments (one of which is an array) means it can just make one
pass through the input and do block copies from one of the arguments. To get
coalesce up to the same speed in the same cases, we'd essentially special-case
this in coalesce anyways. Would it be preferable to implement that special case
and drop fill_null, or keep fill_null as a convenient alias/optimized case much
like we have if_else and case_when?
> [C++][Compute] Consolidate fill_null and coalesce
> -------------------------------------------------
>
> Key: ARROW-7179
> URL: https://issues.apache.org/jira/browse/ARROW-7179
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Affects Versions: 0.15.1
> Reporter: Ben Kietzman
> Assignee: David Li
> Priority: Major
> Labels: analytics, kernel
> Fix For: 6.0.0
>
>
> fill_null and coalesce are essentially the same kernel, except the former is
> binary and doesn't support an array fill value, and the latter is variadic
> and supports scalar and array fill values.
> We should consolidate them into one kernel, picking the faster implementation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)