Je ne connais aucun compilateur qui ne fait pas de "return value optimization". Gcc, Clang, Visual Studio, PGI, Intel font tous ces optimisations.
J’ai eu des cas avec Visual Studio où l’optimisation n’était pas faite, et donc de gros changements de perf en changeant la signature. Je ne sais plus si c’était spécifique au debug ou si c’était aussi le cas en release, mais ça rendait le code tellement lent que de toute façon, débugger devenant un enfer, il fallait faire autrement.
Par contre, c’était il y a pas loin de 10 ans, avec Visual Studio 2003 ou 2005, je ne sais plus lequel des deux. À cette époque, passer par référence était une bonne pratique. Le langage a bien changé depuis :).
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0
[^] # Re: Value Semantics Rocks
Posté par whity . En réponse à la dépêche C++17 garantit le court-circuit de copie (suite de la précédente dépêche). Évalué à 1.
J’ai eu des cas avec Visual Studio où l’optimisation n’était pas faite, et donc de gros changements de perf en changeant la signature. Je ne sais plus si c’était spécifique au debug ou si c’était aussi le cas en release, mais ça rendait le code tellement lent que de toute façon, débugger devenant un enfer, il fallait faire autrement.
Par contre, c’était il y a pas loin de 10 ans, avec Visual Studio 2003 ou 2005, je ne sais plus lequel des deux. À cette époque, passer par référence était une bonne pratique. Le langage a bien changé depuis :).
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0