Wird der Performance- / Memory-Vorteil von Short durch Downcasting zunichte gemacht?
Ich schreibe eine groß angelegte Anwendung, in der ich versuche, so viel Speicher wie möglich zu sparen und die Leistung zu steigern. Wenn ich ein Feld habe, von dem ich weiß, dass es nur Werte von 0 - 10 oder von -100 - 100 enthält, versuche ich, das zu verwendenshort
Datentyp stattint
.
Für den Rest des Codes bedeutet dies jedoch, dass ich überall, wenn ich diese Funktionen aufrufe, einfach downcasten mussint
s inshort
s. Zum Beispiel:
Methodensignatur
public void coordinates(short x, short y) ...
Methodenaufruf
obj.coordinates((short) 1, (short) 2);
In meinem gesamten Code ist das so, weil die Literale wie folgt behandelt werdenint
s und werden basierend auf den Funktionsparametern nicht automatisch herabgestuft oder getippt.
Ist als solches eine Leistung oder ein Speichergewinn tatsächlich signifikant, sobald dieses Downcasting auftritt? Oder ist der Konvertierungsprozess so effizient, dass ich noch einige Gewinne erzielen kann?