Dlaczego przekazywanie małych zmiennych przez kopie jest lepsze niż przez stałą referencję?
Ostatnio zmodyfikowano 2018-02-04 23:46
latajacaryba Temat założony przez niniejszego użytkownika |
Dlaczego przekazywanie małych zmiennych przez kopie jest lepsze niż przez stałą referencję? » 2018-02-04 22:51:23 Witam. Znalazłem taką oto wypowiedź Pekfosa: short to rozmiar tablicy, mały bo 5 więc i short, a referencja żeby nie kopiować wartości. | To (podwójnie) złe myślenie. Niekopiowanie jest w tym przypadku gorsze od kopiowania, a zmniejszenie rozmiaru zmiennej nie ma sensu. Nie oszczędzasz w ten sposób pamięci, a tylko zmniejszasz swoje możliwości. |
Cytat dotyczył mniej więcej takiej sytuacji: void f1( const short & size )
Chodzi mi o pogrubiony fragment. Dlaczego nie opłaca się przenosić małych zmiennych np. short czy int przez referencję (oczywiście mam tu na myśli przypadek, gdy nie chcemy jej modyfikować, tylko nie używać kopiowania)? źródło |
|
pekfos |
» 2018-02-04 23:06:18 Referencja przekazuje adres na wartość, a wartość przekazuje (duh!) wartość. Odczytanie ze stosu adresu i wartości jest równie szybkie, więc przekazywanie przez wskaźnik to tylko potencjalny cache miss na dereferencji. |
|
latajacaryba Temat założony przez niniejszego użytkownika |
» 2018-02-04 23:46:09 No tak, to ma sens :) dzięki, zamykam |
|
« 1 » |