[
https://issues.apache.org/jira/browse/ARROW-7754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Antoine Pitrou resolved ARROW-7754.
-----------------------------------
Fix Version/s: 1.0.0
Resolution: Fixed
Issue resolved by pull request 6356
[https://github.com/apache/arrow/pull/6356]
> [C++] Result<T> is slow
> -----------------------
>
> Key: ARROW-7754
> URL: https://issues.apache.org/jira/browse/ARROW-7754
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Antoine Pitrou
> Assignee: Antoine Pitrou
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.0.0
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> When converting a short performance-critical function to return a Result
> (instead of returning a Status and filling a out-parameter), I noticed a
> catastrophic performance regression (around 2x or 3x slower).
> It seems the current Result implementation is very slow, for several reasons:
> - it imposes "safety" features even in release mode, for example on the
> critical path of move operators
> - the underlying mpark variant implementation is not optimized for
> performance-critical data structures
--
This message was sent by Atlassian Jira
(v8.3.4#803005)