lunes, 21 de octubre de 2019

3.1.2 Ciclos


3.1.2 Ciclos
Factorización de expresiones invariantes
Expresiones invariantes de bucle: expresiones cuyo valor es constante durante toda la
ejecución del bucle


incuyen constantes y/o variables no modi_cadas en el cuerpo del bucle

Principio: Mover expresiones invariantes desde el cuerpo hasta la cabeza del bucle
-> al sacarlas del bucle, pueden quedar dentro de otro bucle externo)
-> repetir proceso.
Ejemplos:
while (i

Algunas optimizaciones son difíciles de implementar
Algunas optimizaciones son costosas en términos de tiempo de compilación
La optimización más elaborada es difícil y costosa

Meta: Mejora Máxima con costo mínimo

Los costos son el factor más importante a tomar en cuenta a la hora de optimizar ya que
en ocasiones la mejora obtenida puede verse no reflejada en el programa final pero si
ser perjudicial para el equipo de desarrollo.
La optimización de una pequeña mejora tal vez tenga una pequeña
ganancia en tiempo
o en espacio pero sale muy costosa en tiempo en generarla.
Pero en cambio si esa optimización se hace por ejemplo en un ciclo, la mejora obtenida
puede ser N veces mayor por lo cual el costo se minimiza y es benéfico la mejora.
Por ejemplo: for(int i=0; i < 10000; i++); si la ganancia es de 30 ms 300s

No hay comentarios.:

Publicar un comentario