Ho un ciclo for che viene eseguito 4096 volte e dovrebbe essere il più veloce possibile. Le prestazioni sono davvero importanti qui. Attualmente utilizzo metodi getter all'interno del ciclo che restituiscono valori o oggetti dai campi che non cambiano mentre il ciclo è in corso.Java utilizza getter in per loop o crea una variabile locale?
Esempio:
for (;;) {
doSomething(example.getValue());
}
C'è qualche testa usando getter? È più veloce utilizzando il seguente modo?
Esempio:
Object object = example.getValue();
for (;;) {
doSomething(object);
}
Se sì, è che anche per l'accesso ai campi pubblici come example.value
?
Modifica: non uso System.out.println()
all'interno del ciclo.
Modifica: alcuni campi non sono final
. Nessun campo è volatile
e nessun metodo (getter) è synchronized
.
Salvare l'output in una stringa locale sarebbe più veloce di un getter o di un oggetto dereferenziazione. Ma questo è misurato in "teensy" – Jamie