You are on page 1of 2

Unidad 3 Optimizacin

Las optimizaciones pueden realizarse de diferentes formas. Se basan al alcance


ofrecido por el compilador. Adems va a depender del lenguaje de programacin y
es directamente proporcional al tiempo de compilacin; es decir entre la
optimizacin mayor tiempo de compilacin.
Es gran consumidor de tiempo, tiene que recorrer todo el rbol de posibles
soluciones para el proceso de optimizacin se deja hasta la fase de prueba final.
Sin embargo es un proceso que tiene que minimizar o maximizar aluna variable de
rendimiento, generalmente tiempo, espacio, procesador.
Es decir va reestructurando el cdigo de tal forma que el nuevo cdigo generado
tenga mayores beneficios. Adems la mayora de los compiladores tiene una
optimizacin baja, se necesita de compiladores especiales para realmente
optimizar el cdigo.
Funcionamiento:
1. Revisa el cdigo generado a varios niveles de abstraccin y realiza las
optimizaciones aplicables al nivel de abstraccin.
a. Representaciones de cdigo intermedio de ms a menos abstractas.
i. rbol sintctico abstracto: optimizar subexpresiones
redundantes, reduccin de frecuencia, etc.
ii. Tuplas o cudruplas: optimizar en uso de los registros o de las
variables temporales.
iii. Ensamblador/Cdigo maquina: convertir saltos a saltos cortos,
reordenar instrucciones.
Tipos:

Locales
o Se realiza sobre mdulos del programa. En la mayora de las ocasiones
a travs de funciones, mtodos, procedimiento, clases, etc.
o La caracterstica es que solo se ven reflejados en dichas secciones.
Jorge Alejandro Dzul Canche

Pgina
1|2

o Sirve cuando un bloque de programa o seccin es crtico. Como la


concurrencia, la rapidez y la confiabilidad de un conjunto de
instrucciones.
o Como el espacio de soluciones es ms pequeo la optimizacin es ms
rpida.

Ciclos
o Son una parte ms esenciales en el rendimiento de un programa dado
que realiza acciones repetitivas, y si dichas acciones estn ms
realizadas, el problema se hace N veces ms grandes.
o Tratan de encontrar elementos que no deben repetirse en un ciclo.
o Es difcil saber el uso exacto de algunas instrucciones. As que no todo
cdigo de proceso puede ser optimizado.
o Otro uso de la optimizacin pueden ser el mejoramiento de consultas en
SQL o en aplicaciones remotas.

Globales
o
o
o
o

Se da con respecto a todo el cdigo.


Es ms lenta pero mejora el desempeo general de todo programa.
Pueden depender de la arquitectura de la mquina.
En algunos casos es mejor mantener variables globales para agilizar los

procesos pero consume ms memoria.


o Algunas optimizaciones incluyen utilizar como variable de registros del
CPU, utilizar instrucciones en ensamblador.

De Mirilla
o Trata de estructural de manera eficiente el flujo del programa, sobre
todo en instrucciones de bifurcacin como son las decisiones, ciclo y
o

saltos de rutinas.
La idea es tener los saltos lo ms cerca de las llamadas, siendo el salto
lo ms pequeo posible.

Jorge Alejandro Dzul Canche

Pgina
2|2