O benefício de desempenho / memória é curto anulado por downcasting?
Eu estou escrevendo um aplicativo de grande escala onde eu estou tentando conservar o máximo de memória possível, bem como melhorar o desempenho. Como tal, quando eu tenho um campo que eu sei que só vai ter valores de 0 a 10 ou de -100 a 100, eu tento usar oshort
tipo de dados em vez deint
.
O que isso significa para o resto do código, no entanto, é que em todo o lugar quando eu chamo essas funções, eu tenho que abaixar simplesint
s emshort
s. Por exemplo:
Assinatura do Método
public void coordinates(short x, short y) ...
Chamada de método
obj.coordinates((short) 1, (short) 2);
É assim em todo o meu código porque os literais são tratados comoint
se não estão sendo automaticamente abatidos ou digitados com base nos parâmetros da função.
Como tal, qualquer ganho de desempenho ou memória é realmente significativo uma vez que esse downcast ocorre? Ou o processo de conversão é tão eficiente que eu ainda posso conseguir alguns ganhos?