Escuché a alguien decir una vez que los compiladores mueven con frecuencia las condiciones de ciclo al final del ciclo. Es decir, los bucles como los siguientes:¿Por qué el lazo de prueba inferior es preferible?
while (condition) {
...
}
se cambia a:
if (condition) {
do {
...
} while (condition);
}
En cuanto a la optimización de la máquina independiente, por eso es preferible este último?
De hecho, el segundo ciclo no evalúa la condición en la parte superior del ciclo. Salta a la condición de tiempo, donde continúa como si acabara de terminar una iteración. –