considerar los siguientes escenarios: 2Que cuesta más mientras se repite; asignación o una declaración if?
boolean b = false;
int i = 0;
while(i++ < 5) {
b = true;
}
O
boolean b = false;
int i = 0;
while(i++ < 5) {
if(!b) {
b = true;
}
}
¿Qué es más "costosa" que hacer? Si la respuesta depende del lenguaje/compilador utilizado, proporcione. Mi lenguaje de programación principal es Java.
Por favor, no hagas preguntas como por qué querría hacer ninguna de las dos ... Son solo ejemplos básicos que señalan lo relevante: si una variable debe establecer el mismo valor en un bucle una y otra vez o debería ser probado en cada ciclo que tiene un valor necesario para cambiar?
posible duplicado de [Are If Thens más rápido que la multiplicación y la asignación?] (Http://stackoverflow.com/questions/4024201/are-if-thens-faster-then-multiplication-and-assignment) –
Si mal no recuerdo mi clase de compilador correctamente, debido a http://en.wikipedia.org/wiki/Branch_predictor, ambos serán más o menos lo mismo. Creo que la primera vez tomaría un poco más de tiempo para hacer la rama, pero después de eso el compilador puede hacer predicciones y ajustarlas en consecuencia. –
Aquí encontrarás muchas respuestas http://www.agner.org/optimize/optimizing_cpp.pdf – ruslik