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 mussints inshorts. 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 werdenints 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?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage