Mir ist aufgefallen, dass ich immer int und double verwendet habe, egal wie klein oder groß die Zahl sein muss. Ist es in Java effizienter, byte
oder short
anstelle von int
und float
anstelle von zu verwenden double
?
Nehmen wir also an, ich habe ein Programm mit vielen Ints und Doubles. Wäre es wert, meine Ints in Bytes oder Shorts zu ändern, wenn ich wüsste, dass die Nummer passen würde?
Ich weiß, dass Java keine vorzeichenlosen Typen hat, aber kann ich noch etwas tun, wenn ich wüsste, dass die Zahl nur positiv ist?
Mit effizient meine ich meistens die Verarbeitung. Ich würde annehmen, dass der Garbage Collector viel schneller wäre, wenn alle Variablen halb so groß wären und dass die Berechnungen wahrscheinlich auch etwas schneller wären. (Ich denke, da ich an Android arbeite, muss ich mir auch etwas Sorgen um RAM machen)
(Ich würde annehmen, dass der Garbage Collector nur Objekte und keine Grundelemente behandelt, aber dennoch alle Grundelemente in verlassenen Objekten löscht, oder?)
Ich habe es mit einer kleinen Android-App versucht, aber ich habe überhaupt keinen Unterschied bemerkt. (Obwohl ich nichts "wissenschaftlich" gemessen habe.)
Bin ich falsch in der Annahme, dass es schneller und effizienter sein sollte? Ich würde es hassen, alles in einem riesigen Programm zu ändern, um herauszufinden, dass ich meine Zeit verschwendet habe.
Wäre es von Anfang an wert, wenn ich ein neues Projekt starte? (Ich meine, ich denke, jedes kleine bisschen würde helfen, aber wenn ja, warum scheint es nicht so, als ob es jemand tut.)