Want to create interactive content? It’s easy in Genially!

Reuse this 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:

Audio tutorial

Pechakucha Presentation

Desktop Workspace

Decades Presentation

Psychology Presentation

Medical Dna Presentation

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.

DE MIRILLA:

La idea es tener los saltos lo más cerca de las llamadas, siendo el salto lo más pequeño posible. Instrucciones de bifurcación Interrumpen el flujo normal de un programa, es decir que evitan que se ejecute alguna instrucción del programa y salta a otra parte del programa.