OBTIMIZACION DE CODIGO
Introducción
En la actualidad los ordenadores están invadiendo todos los campos del conocimiento. Una gran variedad de programas se desarrollan para diversasaplicaciones de todo tipo. Al usuario final de un programa sólo le interesan dos cosas: que el programa sea fácil de manejar y que su ejecución sea lo más rápida posible. Para mejorar este último aspectocada día se tienen más en cuenta las optimizaciones en el código del programa. En este trabajo se describe cuales son y en qué consisten cada una de las diversas técnicas de optimización.
Objetivo:Mejorar código objeto final, preservando significado del programa
Factores a optimizar
1. Velocidad de ejecución
2. Tamaño del programa
3. Necesidades de memoria
Se sigue una aproximaciónconservadora
No se aplican todas las posibles optimizaciones, solo las “seguras"
3.1 Clasificación de las optimizaciones (Tipos de Optimizaciones)
1. En función de la dependencia de laarquitectura
Dependientes de la maquina:
1. Aprovechan características específicas de la maquina objetivo
asignación de registros, uso de modos de direccionamiento
2. uso instrucciones especiales (IDIOMS)3. relleno de pipelines, predicción de saltos, aprovechamiento
4. estrategias de memoria cache, etc...
Independientes de la maquina:
1. Aplicables en cualquier tipo de maquina objetivo
2.Ejecución en tiempo de compilación
3. Eliminación de redundancias
4. Cambios de orden de ejecución, etc...
2. En función del ámbito de aplicación.
Optimizaciones locales:
Aplicadas dentro de unBloque Básico (B.B.)
Solo estudian las instrucciones del B.B. actual
Optimizaciones globales: Aplicadas a más de un B.B.
Consideran contenido y flujo de datos entre todos o parte de los B.B.Necesidad de recoger información sobre los B.B. y sus interrelaciones
! Algoritmos de análisis global de flujo de datos
Posibilidades de optimización:
sobre código fuente (programador/preprocesador)...
Regístrate para leer el documento completo.