Есть ли ценна разница в производительности между этим:Передача ссылки const: увеличение производительности?
int myFunction(const int &a) { return 2 + a; }
и это:
int myFunction(int a) { return 2 + a; }
?
Насколько мне известно, второй метод делает копию переменной, переданной в качестве аргумента, в новый регистр, и это требует еще нескольких инструкций в коде asm. То, что эта функция называется тысяча раз в секунду, и производительность в этом случае имеет решающее значение, лучше ли передавать ссылку на const, а не переменную?
Вы посмотрели это? Вы не первый, кто спрашивает об этом – Samuel
. «Есть ли какая-то ценная разница в производительности между этим:« Очень маловероятно. –
На самом деле хороший оптимизирующий компилятор, вероятно, встроит обе функции в письменном виде. В противном случае передача по ссылке обычно осуществляется с помощью указателей, которые не меньше, чем 'int' (и фактически больше в 64-битных системах). –