Beetje uit daadwerkelijke optimalisatie, beetje uit interesse, vroeg ik me af hoe de Java compiler omgaat met dit stukje code:
mTemp en mForce zijn 2 vectoren. Het gaat me om de variabele balance, het enige nut dat dit een gedeclareerde variabele is, is voor mijn eigen overzicht. Als onderdeel van een game zou het kunnen dat dit 30 - 60 keer per seconde uitgevoerd gaat worden.
Is de compiler zo slim dat dit uiteindelijk geen variabele wordt? Googlen levert vooral de vraag van het nut van 'final'.
Java:
1
2
3
4
5
6
7
8
9
| private void setForce(float screenX, float screenY) { mTemp.set(screenX, screenY); mTemp.sub(mX, mY); mTemp.rotateRad(-mAngle); float balance = 2 * mTemp.y / mHeight; mForce.set(0, Constans.BALANCER_MAX_FORCE).scl(balance); } |
mTemp en mForce zijn 2 vectoren. Het gaat me om de variabele balance, het enige nut dat dit een gedeclareerde variabele is, is voor mijn eigen overzicht. Als onderdeel van een game zou het kunnen dat dit 30 - 60 keer per seconde uitgevoerd gaat worden.
Is de compiler zo slim dat dit uiteindelijk geen variabele wordt? Googlen levert vooral de vraag van het nut van 'final'.