EDICIóN GENERAL

¿Por qué es 2 * (i * i) más rápido que 2 * i * i en Java? (Eng)

Todo el mundo comentando acerca de la operación aritmética pero ninguno parece que haya abierto el programa y lo haya visto.

El programa tarda entre 0.50s y 0.55s en ejecutarse con 2 * i * i.
El programa tarda entre 0.60s y 0.65s en ejecutarse con 2 * (i * i).

¿Y qué es el programa? Mil millones de iteraciones de esa multiplicación.

Mil millones. Y la diferencia es 0.15s contando todas las operaciones.

Obviamente es importante la optimización y está muy bien saber que Java es más rápido haciendo este tipo de cosas.
Pero no es tanta la diferencia entre hacer esto o no hacerlo. En el 99.99% de los programas, no lo será.
#106 Oops! typo! Al revés los tiempos.

menéame