> Typicky priklad na to, kdy muze runtime podobne optimalizace delat jsou 
> operace bez sideefectu. ...

Pořád jde o to, jestli mám optimizovat já nebo překladač.

Když budu optimalizovat já, musím neustále hlídat, jetli se nezměnily podmínky, 
které mi danou optimalizaci umožní. Nechám-li to na překladači, nemusím hlídat 
nic. Při vhodně napsaném programu by dobrý překladač mněl poznat, že v daném 
případě je zkrácené vyhodnocováné méně efektivní a lze je nahradit.

Abychom mu pomohli, bylo by užitečné, kdyby Java zavedla anotaci @Immutable, po 
níž by překladač zkontroloval, že instance touto anotací označeného datového 
typu jsou opravdu neměnné, a pak by této znalosti mohl při nějakých následných 
optimalizacích využít.
 

__________ Informace od ESET NOD32 Antivirus, verze databaze 5336 (20100803) 
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz
 

Odpovedet emailem