Czy korzyść z wydajności / pamięci jest niwelowana przez downcasting?
Piszę aplikację na dużą skalę, w której staram się oszczędzać jak najwięcej pamięci, a także zwiększyć wydajność. W związku z tym, gdy mam pole, które wiem, że będzie miało wartości od 0 do 10 lub od -100 do 100, próbuję użyćshort
typ danych zamiastint
.
Co to jednak oznacza dla reszty kodu, to fakt, że wszędzie tam, gdzie nazywam te funkcje, muszę sprowadzać prosteint
sshort
s. Na przykład:
Podpis metody
public void coordinates(short x, short y) ...
Metoda Call
obj.coordinates((short) 1, (short) 2);
Tak jest w całym moim kodzie, ponieważ literały są traktowane jakoint
s i nie są automatycznie spuszczane lub wpisywane na podstawie parametrów funkcji.
W związku z tym, czy jakakolwiek wydajność lub zysk pamięci są rzeczywiście znaczące po wystąpieniu tego downcastingu? Czy proces konwersji jest na tyle skuteczny, że mogę jeszcze zyskać jakieś zyski?