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)