[
https://issues.apache.org/jira/browse/ARROW-10173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17219936#comment-17219936
]
Yordan Pavlov commented on ARROW-10173:
---------------------------------------
this issue is related to:
https://issues.apache.org/jira/browse/ARROW-8908
which proposes an optimization to creating literal arrays;
this, however, is still sub-optimal; ideally comparison to literal values
should be performed directly as proposed here:
https://issues.apache.org/jira/browse/ARROW-8907
> [Rust][DataFusion] Improve performance of equality to a constant predicate
> support
> ----------------------------------------------------------------------------------
>
> Key: ARROW-10173
> URL: https://issues.apache.org/jira/browse/ARROW-10173
> Project: Apache Arrow
> Issue Type: Improvement
> Reporter: Andrew Lamb
> Priority: Major
>
> I noticed this behavior while working on support for DictionaryArrays and
> wanted to capture it in a ticket in case someone has time to work on it.
> In order to implement an equality predicate to a constant such as {{d1 =
> 'three'}}, DataFusion effectively creates an array with the same value
> {{'three'}} repeated over and over again and uses the equality compute
> kernel. This is ... suboptimal.
> Here is what the predicate looks like:
> {code}
> predicate: BinaryExpr {
> left: CastExpr {
> expr: Column {
> name: "d1",
> },
> cast_type: Utf8,
> },
> op: Eq,
> right: Literal {
> value: Utf8("three"),
> },
> },
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)