You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Yordan Pavlov (Jira)" <ji...@apache.org> on 2020/10/23 21:17:00 UTC

[jira] [Commented] (ARROW-10173) [Rust][DataFusion] Improve performance of equality to a constant predicate support

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