[ 
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)

Reply via email to