Ho notato che ho sempre usato int e double, non importa quanto piccolo o grande debba essere il numero. Quindi, in Java, è più efficiente da usare byte
o short
invece di int
e float
invece di double
?
Quindi supponi di avere un programma con molti int e doppi. Varrebbe la pena passare attraverso e cambiare i miei int in byte o corti se sapessi che il numero si adatterebbe?
So che java non ha tipi non firmati, ma c'è qualcosa in più che potrei fare se sapessi che il numero sarebbe solo positivo?
Per efficiente intendo principalmente elaborazione. Presumo che il garbage collector sarebbe molto più veloce se tutte le variabili fossero di dimensioni dimezzate e che anche i calcoli sarebbero probabilmente un po 'più veloci. (Immagino che dal momento che sto lavorando su Android devo preoccuparmi un po 'anche della ram)
(Presumo che il garbage collector si occupi solo di oggetti e non primitivo ma cancella comunque tutte le primitive negli oggetti abbandonati, giusto?)
L'ho provato con una piccola app per Android che ho ma non ho notato alcuna differenza. (Anche se non ho misurato "scientificamente" nulla.)
Sbaglio nel ritenere che dovrebbe essere più veloce ed efficiente? Non vorrei passare attraverso e cambiare tutto in un programma enorme per scoprire che ho perso il mio tempo.
Varrebbe la pena farlo dall'inizio quando inizio un nuovo progetto? (Voglio dire, penso che ogni piccola cosa aiuterebbe, ma poi di nuovo se è così, perché non sembra che qualcuno lo faccia.)