> On Sept. 17, 2014, 4:32 p.m., Dominic Hamon wrote: > > I'm not convinced that this is necessarily the way we want to go, given the > > benefits of move semantics in modern compilers, but for consistency we can > > ship this until we have proof that performance favours the alternative. > > Kamil Domanski wrote: > Isn't move construction more expensive than const reference? > > Dominic Hamon wrote: > > http://stackoverflow.com/questions/21605579/how-true-is-want-speed-pass-by-value > > copy, yes. move, no. maybe. ;)
http://www.youtube.com/watch?v=xnqTKD8uD64#t=3145 - the current guidelines. Passing by value probably isn't what you want. If you want to get the extra win for r-value referenes you should add another overload, or accept via perfect forwarding. Also note GCC libstdc++ doesn't implement the C++11/C++14 std::string, so it is Copy on Write (C++89) which means that copies are a little cheaper than they would be otherwise. - Cody ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/25735/#review53688 ----------------------------------------------------------- On Sept. 17, 2014, 2:25 p.m., Kamil Domanski wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/25735/ > ----------------------------------------------------------- > > (Updated Sept. 17, 2014, 2:25 p.m.) > > > Review request for mesos. > > > Bugs: MESOS-1805 > https://issues.apache.org/jira/browse/MESOS-1805 > > > Repository: mesos-git > > > Description > ------- > > os::shell and an overload of strings::internal::fmt in stout pass a const > string parameter by copy instead of reference. This patch fixes that. > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp 58ab742 > 3rdparty/libprocess/3rdparty/stout/include/stout/os/shell.hpp 6728ad8 > > Diff: https://reviews.apache.org/r/25735/diff/ > > > Testing > ------- > > cd 3rdparty/libprocess/3rdparty/ && make check > > > Thanks, > > Kamil Domanski > >