He notado que siempre he usado int y doubles, sin importar cuán pequeño o grande deba ser el número. Entonces, en Java, ¿es más eficiente usar byte
o en short
lugar de int
y en float
lugar de double
?
Así que suponga que tengo un programa con muchas entradas y dobles. ¿Valdría la pena revisar y cambiar mis entradas a bytes o cortos si supiera que el número encajaría?
Sé que Java no tiene tipos sin firmar, pero ¿hay algo adicional que pudiera hacer si supiera que el número solo sería positivo?
Por eficiente me refiero principalmente a procesamiento. Asumiría que el recolector de basura sería mucho más rápido si todas las variables fueran de la mitad del tamaño y que los cálculos probablemente también serían algo más rápidos. (Supongo que, como estoy trabajando en Android, también debo preocuparme un poco por la RAM)
(Asumiría que el recolector de basura solo se ocupa de Objetos y no de primitivos, pero aún elimina todos los primitivos en los objetos abandonados, ¿verdad?)
Lo probé con una pequeña aplicación para Android que tengo, pero realmente no noté ninguna diferencia. (Aunque no medí nada "científicamente").
¿Me equivoco al suponer que debería ser más rápido y más eficiente? Odiaría pasar y cambiar todo en un programa masivo para descubrir que perdí el tiempo.
¿Valdría la pena hacerlo desde el principio cuando empiezo un nuevo proyecto? (Quiero decir, creo que todo ayudaría, pero de nuevo, si es así, ¿por qué parece que nadie lo hace?)