Unidad 3 Optimizacion

Páginas: 11 (2645 palabras) Publicado: 10 de marzo de 2015



Contenido

Introducción………………………………….. Pág. 3
Optimización…………………………………. Pág. 4
Tipos de optimización………………………. Pág. 5
Optimización Local…………………………. Pág. 6
Optimizaciones Dentro de Bucles……….. Pág. 11
Optimización de ciclos…………………….. Pág. 14
Optimización global………………………… Pág. 15
Optimización de Mirilla……………………… Pág. 3
Conclusión…………………………………….. Pág. 20

Introducción

En éstetrabajo se hablará sobre la optimización de código, pero para comprender mejor el concepto, debemos saber cuál es su definición. La optimización es el proceso que se realiza para mejorar el rendimiento de una actividad o proceso, evitando así la pérdida de tiempo y de datos. Puede ser aplicado al rendimiento de sistemas operativos, software, dispositivos móviles y aplicaciones. Puede ser aplicada encualquier área donde se busque o desee realizar una actividad de forma eficaz y eficiente, sin perder datos relevantes ni tiempo, es la encargada de las constantes actualizaciones.
Veremos que has distintos tipos de optimización, por ejemplo la de ciclos que es muy importante. También está la optimización local, la global y la optimización de mirilla.
La optimización es muy importante, ya quebusca obtener un código cuya ejecución sea más eficiente.
Optimización
Se realiza después de la generación de código de todo el programa o de un elemento ejecutable del programa (función, procedimiento, etc.). “Dependiente del contexto”
La optimización es un proceso que tiene a minimizar o maximizar alguna variable de rendimiento, generalmente tiempo, espacio, procesador, etc.
La optimización serealiza reestructurando el código de tal forma que el nuevo código generado tenga mayores beneficios.
Objetivo
Obtener código que se ejecuta más eficientemente según los criterios. Tiempo de ejecución (optimización temporal) Espacio de memoria utilizado (optimización espacial)
Funcionamiento
Revisa el código generado a varios niveles de abstracción y realiza las optimizaciones aplicables alnivel de abstracción
• Representaciones de código intermedio de más a menos abstractas
– Árbol sintáctico abstracto: optimizar subexpresiones redundantes, reducción de frecuencia, etc.
– Tuplas o cuadruplas: optimizar en uso de los registros o de las variables temporales.
– Ensamblador/Código máquina: convertir saltos a saltos cortos, reordenar
– Representaciones de código para extraer información:grafos.
• Condiciones que se han de cumplir
El código optimizado se ha de comportar igual que el código de partida excepto por ser más rápido u ocupar menos espacio. Hay que buscar transformaciones que no modifiquen el comportamiento del código según el comportamiento definido para el lenguaje de programación. Ejemplo
• Si no se ha definido el orden de evaluación de los operandos la siguienteoptimización es válida
B=2*A+(A=c*d);
Pasar a
A=c*d;
B=A*3;
Tipos de optimización

Optimizaciones Globales
Optimizaciones de Ciclo
Optimización de Mirilla
Optimizaciones Locales














Optimización Local
Las optimizaciones locales se realizan sobre el bloque básico
• Optimizaciones locales
– Folding
– Propagación de constantes
– Reducción de potencia
– Reducción de subexpresiones comunesBloque Básico
• Un bloque básico es un fragmento de código que tiene una única entrada y salida, y cuyas instrucciones se ejecutan secuencialmente. Implicaciones:
– Si se ejecuta una instrucción del bloque se ejecutan todas en un orden conocido en tiempo de compilación.
• La idea del bloque básico es encontrar partes del programa cuyo análisis necesario para la optimización sea lo más simpleposible.

Ensamblamiento (Folding)
• El ensamblamiento es remplazar las expresiones por su resultado cuando se pueden evaluar en tiempo de compilación (resultado constante).
– Ejemplo: A=2+3+A+C -> A=5+A+C
• Estas optimizaciones permiten que el programador utilice cálculos entre constantes representados explícitamente sin introducir ineficiencias.
Implementación del Folding
• Implementación del floding...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Optimizacion en simuladores modulares 3
  • unidad 3
  • unidad 3
  • Unidad 3
  • unidad 3
  • unidad 3
  • 3 Unidad
  • UNIDAD 3

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS