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

Igor Sapego commented on IGNITE-9161:
-------------------------------------

[~tledkov-gridgain],

1. Unfortunately, there are no benchmarks for C++ but profiler on Windows and 
Linux shows that this fix helps to get rid of additional object copy operation 
and thus shows performance improvement on return of non-primitive objects (the 
bigger an object the more visible the improvement).

2. [~vozerov], can you take a look?

> CPP: Get rid of additional copy on Get
> --------------------------------------
>
>                 Key: IGNITE-9161
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9161
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>    Affects Versions: 2.0
>            Reporter: Igor Sapego
>            Assignee: Igor Sapego
>            Priority: Major
>              Labels: cpp
>             Fix For: 2.7
>
>
> Currently, helper classes from {{operations.h}} header file, e.g. 
> {{Out1Operation}} contain additional value, that can't be optimized-out by 
> the compiler on return, even though the operation itself is a temporary 
> object.
> As a solution, such classes should accept and operate on a reference to a 
> temporary object, so that [copy 
> elision|https://en.wikipedia.org/wiki/Copy_elision] can be used by a compiler.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to