Subido por rosy ilda basave torres

3.1.1 Locales

Anuncio
TECNOLÓGICO NACIONAL DE MEXICO
CAMPUS TUXTLA GUTIÉRREZ
INGENIERIA EN SISTEMAS COMPUTACIONALES
MATERIA:
LENGUAJES Y AUTOMATAS 2
PRECENTA:
Vazquez Lopez O. Gerardo
Estrada Juarez C. Daniel
Arias Hernandez C. Benjamin
Solano Gamboa A. Eduardo
Tipos de optimización
Optimización local
La optimización es un proceso que tiende a minimizar o maximizar alguna variable de rendimiento,
generalmente tiempo, espacio, procesador, etc
Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al
alcance ofrecido por el compilador. La optimización va a depender del lenguaje de programación y es
directamente proporcional al tiempo de compilación; es decir, entre más optimización mayor tiempo de
compilación.
¿Que es optimización local?
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.
Bloque Básico
Las optimizaciones locales se realizan sobre el bloque 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 simple posible.
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
Propagación de constantes
Desde que se asigna a una variable un valor constante hasta la siguiente asignación, se considera a la variable
equivalente a la constante.
• Ejemplo: Propagación Ensamblamiento
PI=3.14 -> PI=3.14 -> PI=3.14
G2R=PI/180 -> G2R=3.14/180 -> G2R=0.017
PI y G2R se consideran constantes hasta la próxima asignación.
Estas optimizaciones permiten que el programador utilice variables como constantes sin introducir
ineficiencias. Por ejemplo en C no hay constantes y será lo mismo utilizar
Reducción de potencia
La reducción de potencia se refiere a la optimización de sistemas de reconocimiento de lenguajes formales
y autómatas para minimizar el consumo de recursos computacionales, como el tiempo de procesamiento y
la memoria, mientras se mantiene o mejora la eficiencia en la detección y procesamiento de lenguajes.
Reducción de subexpresiones comunes
La reducción de subexpresiones comunes se considera una optimización local porque se enfoca en un
fragmento específico del código o la estructura del lenguaje, en lugar de cambios globales en todo el
programa o lenguaje. El objetivo es eliminar la duplicación de cálculos o representaciones para
mejorar la eficiencia en un área específica.
Descargar