Zauważyłem, że zawsze używałem int i double, bez względu na to, jak mała lub duża musi być liczba. Czy w Javie bardziej wydajne jest używanie, byte
czy short
zamiast int
i float
zamiast double
?
Więc załóżmy, że mam program z dużą ilością int i double. Czy warto byłoby przejść i zmienić moje ints na bajty lub krótkie, gdybym wiedział, że liczba będzie pasować?
Wiem, że java nie ma typów bez znaku, ale czy jest coś więcej, co mógłbym zrobić, gdybym wiedział, że liczba będzie tylko dodatnia?
Przez wydajne rozumiem głównie przetwarzanie. Zakładam, że odśmiecacz byłby dużo szybszy, gdyby wszystkie zmienne miały połowę rozmiaru, a obliczenia prawdopodobnie też byłyby nieco szybsze. (Myślę, że ponieważ pracuję na Androidzie, muszę też trochę martwić się o pamięć RAM)
(Zakładam, że garbage collector zajmuje się tylko obiektami, a nie prymitywami, ale nadal usuwa wszystkie prymitywy z opuszczonych obiektów, prawda?)
Wypróbowałem to z małą aplikacją na Androida, ale tak naprawdę nie zauważyłem żadnej różnicy. (Chociaż niczego nie zmierzyłem „naukowo”).
Czy mylę się, zakładając, że powinno być szybsze i bardziej wydajne? Nie chciałbym przechodzić i zmieniać wszystkiego w ogromnym programie, aby dowiedzieć się, że zmarnowałem swój czas.
Czy warto by było zacząć od początku, kiedy zaczynam nowy projekt? (Chodzi mi o to, że myślę, że wszystko by pomogło, ale jeśli tak, to dlaczego nie wygląda na to, żeby ktokolwiek to robił.)