INSTITUTO TECNOLOGICO SUPERIOR DE JEREZ
LENGUAJES Y AUTOMATAS 2.
TAREA_8_TIPOS DE OPTIMIZACION(LOCAL,CICLOS Y MIRILLA)
ALUMNA:
LIZETH GUADALUPE GIRON ALVARADO
15 DE NOVIEMBRE DEL 2013
________________________________________________________________________
¿QUE ES 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
en cualquier á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.
El objetivo de las técnicas de optimización es mejorar el
programa objeto para que nos dé un rendimiento mayor, se pueden clasificar o
dividir de diversas formas.
Por una parte podemos hablar de aquellas técnicas que son
dependientes de la máquina, y aquellas que son independientes de la máquina (o sea,
técnicas que sólo se pueden aplicar a una determinada máquina objeto y técnicas que son aplicables a cualquier
máquina objeto).
LAS TÉCNICAS DE
OPTIMIZACIÓN LOCALES:
Características:
a) Optimizaciones que no modifican la estructura. Son:
1. Eliminación de sub-expresiones comunes.
2. Eliminación de código muerto.
3. Renombrar variables temporales.
4. Intercambio de sentencias independientes adyacentes.
b) Transformaciones algebraicas. Son aquellas
transformaciones que simplifican expresiones y/o reemplazan operaciones
costosas de la máquina por otras menos costosas.
c) Existe otra categoría de optimización local se le llama optimización peephole,
e intenta mejorar el rendimiento del programa por medio de reemplazar esa breve
secuencia de instrucciones objeto por otra secuencia más corta y/o más rápida.
Por ejemplo:
1. Eliminación de instrucciones redundantes.
2. Optimizaciones en el flujo de control.
3. Simplificaciones algebraicas.
4. Uso de instrucciones máquina específicas.
TECNICAS DE OPTIMIZACION
DE CICLOS:
CARACTERISTICAS:
·
son parte en el
rendimiento de un programa dado.
·
realizan acciones
repetitivas, y si dichas acciones están mal realizadas, el problema se hace N
veces más grandes.
•
trata de encontrar
elementos que no deben repetirse en un ciclo.
•
mejoramiento de
consultas en SQL o en aplicaciones remotas
•
difícil saber el uso
exacto de algunas instrucciones.
TECNICAS DE OPTIMIZACION
DE MIRILLA:
CARACTERISTICAS:
•
estructurar de manera eficiente el flujo del programa, sobre todo en
instrucciones de bifurcación como son las decisiones, ciclos y saltos de
rutinas.
•
tiene los saltos lo más cerca de las llamadas, siendo el salto lo más
pequeño posible
•
Se
recorre el código buscando combinaciones de instrucciones que puedan ser
remplazadas Por otras equivalentes más eficientes
•
se utiliza en: C#, Java,
Javacc, Pyton, Haskell, Ensamblador, Condiciones
if, Condiciones while, case.
DIFERENCIAS
|
|
|
LOCAL
|
CICLOS
|
MIRILLA
|
Reemplazan operaciones costosas de
la máquina por otras menos costosas.
|
Es difícil saber el
uso exacto de algunas instrucciones
|
•
tener los saltos lo
más cerca de las llamadas, siendo el salto lo más pequeño posible
|
BIBLIOGRAFIA:
Aho (2006), et. al. Compiladores:
Principios y Técnicas. Segunda Edición.
0 comentarios:
Publicar un comentario