You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Adam Lippai (Jira)" <ji...@apache.org> on 2020/05/12 14:34:00 UTC

[jira] [Commented] (ARROW-6691) [Rust] [DataFusion] Use tokio and Futures instead of spawning threads

    [ https://issues.apache.org/jira/browse/ARROW-6691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105493#comment-17105493 ] 

Adam Lippai commented on ARROW-6691:
------------------------------------

[~andygrove] Skipping Tokio can be reasonable, but we still need a threadpool or limiting the number of opened files somehow. Currently it opens and read all the files in parallel, then it does all the computation in parallel (and AFAIK reading a lot of files concurrently won't produce optimal performance on linux). 

> [Rust] [DataFusion] Use tokio and Futures instead of spawning threads
> ---------------------------------------------------------------------
>
>                 Key: ARROW-6691
>                 URL: https://issues.apache.org/jira/browse/ARROW-6691
>             Project: Apache Arrow
>          Issue Type: Sub-task
>          Components: Rust, Rust - DataFusion
>            Reporter: Andy Grove
>            Assignee: Andy Grove
>            Priority: Major
>             Fix For: 1.0.0
>
>         Attachments: image-2019-12-07-17-54-57-862.png
>
>
> The current implementation of the physical query plan uses "thread::spawn" which is expensive. We should switch to using Futures, async!/await!, and tokio so that we are launching tasks in a thread pool instead and writing idiomatic Rust code with futures combinators to chain actions together.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)