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

[jira] [Assigned] (ARROW-10625) [C++] Optimize Future<> creation

     [ https://issues.apache.org/jira/browse/ARROW-10625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ben Kietzman reassigned ARROW-10625:
------------------------------------

    Assignee: Weston Pace  (was: Ben Kietzman)

> [C++] Optimize Future<> creation
> --------------------------------
>
>                 Key: ARROW-10625
>                 URL: https://issues.apache.org/jira/browse/ARROW-10625
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>    Affects Versions: 2.0.0
>            Reporter: Ben Kietzman
>            Assignee: Weston Pace
>            Priority: Major
>             Fix For: 3.0.0
>
>
> {{Future<>}} is more expensive to construct than necessary. A few optimizations could be pursued:
> - Store the future's result in the same allocation which houses the ConcreteFutureImpl
> - Apply the small buffer optimization to FnOnce so that small continuations do not incur another heap allocation
> - Contention for the global waiter lock is unlikely to be an issue, but it'd be good to measure
> - Futures will usually have few callbacks, so a vector may be unnecessary



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