[ 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)