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

ASF GitHub Bot updated ARROW-16008:
-----------------------------------
    Labels: pull-request-available  (was: )

> [C++] It is more expensive than expected to create a default Result<T>
> ----------------------------------------------------------------------
>
>                 Key: ARROW-16008
>                 URL: https://issues.apache.org/jira/browse/ARROW-16008
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Weston Pace
>            Assignee: Weston Pace
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I had expected:
> {noformat}
> Result<T> my_result;
> T my_value;
> {noformat}
> to be more or less equivalent statements (as I think of Result<T> as a "T or 
> Status variant").  However, a default result initializes itself with an error 
> status and the error message must be allocated and copied.  As a result, it 
> is considerably more expensive (100's of ns compared to 1's of ns).
> I'm not certain how much of an issue this is however.  It's possible we don't 
> often create default results or their creation is optimized out.  I 
> prototyped a solution but did not see much change in any benchmarks.  So 
> perhaps it is not something worth changing but I figured I'd open it up to 
> discussion.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to