Want to create interactive content? It’s easy in Genially!
LENGUAJES & AUTÓMATAS 2 - UNIDAD III. OPTIMIZACIÓN
Aleksandra Flores
Created on November 7, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Audio tutorial
View
Pechakucha Presentation
View
Desktop Workspace
View
Decades Presentation
View
Psychology Presentation
View
Medical Dna Presentation
View
Geometric Project Presentation
Transcript
LENGUAJES & AUTÓMATAS II
UNIDAD III.
"OPTIMIZACIÓN"
COMENZAR
ÍNDICE
04
OBJETIVO DE LA UNIDAD
03
OBJETIVO DE LA UNIDAD
02
ÍNDICE
01
PORTADA
06
TIPOS DE OPTIMIZACIÓN
05
INTRODUCCIÓN
07
TIPOS DE OPTIMIZACIÓN
08
TIPOS DE OPTIMIZACIÓN
11
VIDEO
10
TIPOS DE OPTIMIZACIÓN
09
TIPOS DE OPTIMIZACIÓN
12
VIDEO
13
PRÓXIMAMENTE
Objetivo de la unidad
Comprender la importancia de la optimización en los lenguajes y autómatas
Desarrollar habilidades para aplicar métodos y técnicas de optimización en diferentes contextos.
Objetivo de la unidad
La optimización desde diferentes perspectivas
Incluyendo la minimización del tiempo de ejecución, la reducción del uso de memoria, o la maximización de la utilización del procesador. Cada uno de estos objetivos puede requerir diferentes técnicas y estrategias.
INTRODUCCIÓN
Definición de Optimización
La optimización se refiere a un proceso que busca mejorar la forma en que un programa utiliza los recursos. La finalidad de la optimización de código es producir un código objeto lo más eficiente posible. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. La optimización es un componente esencial en el estudio de los lenguajes y autómatas, y es el enfoque principal de la Unidad 3 en Lenguajes y Autómatas II. Este proceso busca mejorar la eficiencia del código generado por un compilador, lo que puede tener un impacto significativo en el rendimiento de un programa.
TIPOS DE OPTIMIZACIÓN
GLOBALES
TIPOS DE OPTIMIZACIÓN
LOCALES
CICLOS
DE MIRILLA
TIPOS DE OPTIMIZACIÓN
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. La característica de las optimizaciones locales es que solo se ven reflejados en dichas secciones.
EJEMPLO 1
EJEMPLO 3
EJEMPLO 2
TIPOS DE OPTIMIZACIÓN
ciclos
Los ciclos son una de las partes más esenciales en el rendimiento de un programa dado que realizan acciones repetitivas, y si dichas acciones están mal realizadas, el problema se hace N veces más grandes. La mayoría de las optimizaciones sobre ciclos tratan de encontrar elementos que no deben repetirse en un ciclo.
EJEMPLO 1
TIPOS DE OPTIMIZACIÓN
globales
La optimización global se da con respecto a todo el código. Este tipo de optimización es más lenta pero mejora el desempeño general de todo programa. Las optimizaciones globales pueden depender de la arquitectura de la máquina.
EJEMPLO 1
TIPOS DE OPTIMIZACIÓN
de mirilla
La optimización de mirilla trata de estructurar de manera eficiente el flujo del programa, sobre todo en instrucciones de bifurcación como son las decisiones, ciclos y saltos de rutinas.
LENGUAJES Y AUTÓMATAS II
EN ESTE VIDEO SE EXPLICA MÁS SOBRE EL TEMA DE: "Optimización y Costos de Optimización.", ESTO EN EL CONTEXTO DE LA MATERIA DE LENGUAJES & AUTÓMATAS II
DESCARGAR MATERIAL
LENGUAJES Y AUTÓMATAS II
EN ESTE VIDEO SE EXPLICA MÁS SOBRE EL TEMA DE: "Optimización y Costos de Optimización.", ESTO EN EL CONTEXTO DE LA MATERIA DE LENGUAJES & AUTÓMATAS II
DESCARGAR MATERIAL
PRÓXIMAMENTE...
3.2 COSTOS
- Costo de ejecución
- Criterios para mejorar el código
- Herramientas para el análisis de uso de datos
POR SU ATENCIÓN, ¡MUCHAS GRACIAS!
EJEMPLO:
EJEMPLO #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
EJEMPLO #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
EJEMPLO #1:
Ejecución en tiempo de compilación Precalcular expresiones constantes (con constantes o variables cuyo valor no cambia). 3 ! i = 5 j = 4 f = j + 2.5 ! j = 4 f = 6.5
EJEMPLO:
IMPORTANTE:
La expansión de bucles solo se puede aplicar a los bucles cuyo número de iteraciones se conoce en tiempo de compilación.
NOTAS:
- Una variable "V" es inductiva cuando la única forma en que se modifica su código es V=V+K, donde "K" es una invariante de bucle.
¿PARA QUE SIRVE LA OPTIMIZACIÓN LOCAL?
La optimización local sirve cuando un bloque de programa o sección es crítico por ejemplo: E/S, la concurrencia, la rapidez y confiabilidad de un conjunto de instrucciones.
NOTAS:
- El problema de las expresiones disponibles consiste en determinar que expresiones están disponibles al inicio de cada bloque básico.