3.1.1 Locales

 La optimización local se realiza sobre módulos del programa. En la mayoría de las ocasiones a través de funciones, métodos, procedimientos, clases, etc.

Las características de las optimizaciones locales es que solo se ven reflejados en dichas secciones. La optimización local sirve cuando un bloque de programa o sección es crítico por ejemplo: la E/S, la concurrencia, la rapidez y confiabilidad de un conjunto de instrucciones.

EJEMPLOS:


1-      Ejecución en tiempo de compilación

Precalcular  expresiones constantes (con constantes o variables cuyo valor no cambia).

i = 2 +3 ! i = 5

j = 4

f = j + 2.5

!

j = 4

f = 6.5


2-  Reutilización de expresiones comunes

a = b + c

d = a - d

e = b + c

f = a - d

!

a = b + c

d = a - d

e = a

f = a – d


3- Propagación de copias

Ante instrucciones f=a, sustituir todos los usos de f por a.

a = 3 + i

f = a

b = f + c

d = a + m

m = f + d

!

a = 3 + i

b = a + c

d = a + m

m = a + d


4- Eliminación redundancias en acceso matrices

Localizar expresiones comunes en cálculo direcciones de matrices.


5- Transformaciones algebraicas:

Aplicar propiedades matemáticas para simplificar expresiones


  • Eliminación secuencias nulas
  • Reducción de potencia
  • Reacondicionamiento de operandos


Comentarios

Entradas populares de este blog

1.6 Generacion de la tabla de simbolos y tabla de direcciones

2.3.4 Instrucciones de control

1.7 Manejo de errores semánticos